Project

General

Profile

Feature #285 » 4-CsControllerFile.cs

Junaid M, 04/08/2024 12:58 PM

 
???File Path
==========
***...\Controllers\PaidchequeController.cs




???Check the points
==================
1) Set Error code no -> paidcheque_CONTROLLER.CS#???



// ??? Add the items top - Duplcation Avoid
using System;
using System.Data;
using Newtonsoft.Json;
using System.Linq;
using Npgsql;
using NpgsqlTypes;

using TAAS.Helpers;
using TAAS.Db;
using TAAS.Models;
using TAAS.Models.Account;
using TAAS.Src.Account;


// ??? The code past top of the class(Attributes) - Duplcation Avoid
public GlobalFunctions insGlobalFunctions = new GlobalFunctions();
DbService insDbService = new DbService();
PaidChequeReturn insPaidChequeReturn = new PaidChequeReturn();


[HttpGet("GetPaidChequeReturnInitializeData")]
public IActionResult GetPaidChequeReturnInitializeData()
{
try
{
// &&& Get Data from Header
long linLoginUserId = Convert.ToInt64(Request.Headers["linLoginUserId"]);
//string strLoginUserName = Request.Headers["strLoginUserName"];
string strSysModuleName = Request.Headers["strSysModuleName"];
//var dtmCurrentDateTime = DateTime.Now;

// *** Authentication Checking
if (linLoginUserId == 0) {
throw (new TaasAuthenticationException(this.insGlobalFunctions.FnGetExceptionResponseString("Login User Authentication Failed.", "PAIDCHEQUE_CONTROLLER.CS#001")));
}

// *** VIEW - User Permission Checking
string strAction = "VIEW_MENU";
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = strSysModuleName, DataTypeName = "vhrSysModuleName"},
new NpgsqlParameter("vhrAction", NpgsqlDbType.Varchar, 50) { Value = strAction, DataTypeName = "vhrAction"},
};
DataSet objDataSet = this.insDbService.FnExcecuteSqlCommand("SELECT * FROM fn_check_user_permission(:linLoginUserId, :vhrSysModuleName, :vhrAction)", lstSqlParameter);
if (objDataSet != null && Convert.ToInt16(objDataSet.Tables[0].Rows[0]["sin_sql_check_status"]) == -1)
{
throw (new TaasUserPermissionException(this.insGlobalFunctions.FnGetExceptionResponseString("You have no Permission to PaidChequeReturn VIEW.", "PAIDCHEQUE_CONTROLLER.CS#002")));
}

MdlResPaidChequeReturnInit mdlResPaidChequeReturnInit = new MdlResPaidChequeReturnInit();

// ??? Check and Rename or Remove If unwanted codes
Documents insDocuments = new Documents();
mdlResPaidChequeReturnInit.lstMdlDocumentsBaseIntId = insDocuments.FnGetAllDocumentsKeyIntValue();
PaidCheque insPaidCheque = new PaidCheque();
mdlResPaidChequeReturnInit.lstMdlPaidChequeBaseIntId = insPaidCheque.FnGetAllPaidChequeKeyIntValue();
PaidChequeDetails insPaidChequeDetails = new PaidChequeDetails();
mdlResPaidChequeReturnInit.lstMdlPaidChequeDetailsBaseIntId = insPaidChequeDetails.FnGetAllPaidChequeDetailsKeyIntValue();
BankCharge insBankCharge = new BankCharge();
mdlResPaidChequeReturnInit.lstMdlBankChargeBaseIntId = insBankCharge.FnGetAllBankChargeKeyIntValue();
BankCrCustomer insBankCrCustomer = new BankCrCustomer();
mdlResPaidChequeReturnInit.lstMdlBankCrCustomerBaseIntId = insBankCrCustomer.FnGetAllBankCrCustomerKeyIntValue();
BankExpense insBankExpense = new BankExpense();
mdlResPaidChequeReturnInit.lstMdlBankExpenseBaseIntId = insBankExpense.FnGetAllBankExpenseKeyIntValue();
ServiceTax insServiceTax = new ServiceTax();
mdlResPaidChequeReturnInit.lstMdlServiceTaxBaseIntId = insServiceTax.FnGetAllServiceTaxKeyIntValue();

// PaidChequeReturn List
mdlResPaidChequeReturnInit.lstMdlPaidChequeReturn = this.insPaidChequeReturn.FnGetAllPaidChequeReturnWithActionUser();

return Ok(mdlResPaidChequeReturnInit);
}
catch (TaasAuthenticationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "AUTHENTICATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error.";

return Ok(mdlResponse);
}
catch (TaasUserPermissionException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "USER_PERMISSION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn User Permission Error.";

return Ok(mdlResponse);
}
catch (TaasModelValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Model Validation Error.";

return Ok(mdlResponse);
}
catch (TaasValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Validation Error.";

return Ok(mdlResponse);
}
catch (TaasLogicalException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "LOGICAL_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Logical Error.";

return Ok(mdlResponse);
}
catch (TaasSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn System Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Validation Error.";

return Ok(mdlResponse);
}
catch (TaasNoDataException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "NO_DATA_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn No Data Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Taas Error.";

return Ok(mdlResponse);
}
catch (Exception ex)
{
MdlResponse mdlResponse = new MdlResponse();

mdlResponse.sinStatus = -1;
mdlResponse.strStatusCode = "ERROR";
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strErrorCode = "PAIDCHEQUE_CONTROLLER.CS#001";
mdlResponse.strMessage = "PaidChequeReturn Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}


[HttpPost("SavePaidChequeReturn")]
public IActionResult SavePaidChequeReturn([FromBody] MdlReqPaidChequeReturn mdlReqPaidChequeReturn)
{
try
{
// &&& Get Data from Header
mdlReqPaidChequeReturn.linLoginUserId = Convert.ToInt64(Request.Headers["linLoginUserId"]);
mdlReqPaidChequeReturn.strLoginUserName = Request.Headers["strLoginUserName"];
mdlReqPaidChequeReturn.strSysModuleName = Request.Headers["strSysModuleName"];
mdlReqPaidChequeReturn.dtmCurrentDateTime = DateTime.Now;

// *** Authentication
if (mdlReqPaidChequeReturn.linLoginUserId == 0) {
throw (new TaasAuthenticationException(this.insGlobalFunctions.FnGetExceptionResponseString("Login User Authentication Failed.", "PAIDCHEQUE_CONTROLLER.CS#003")));
}

// *** ADD/UPDATE - User Permission Checking
string strAction = "ADD";
if (mdlReqPaidChequeReturn.mdlPaidChequeReturn.binPaidChequeReturnId > 0)
{
strAction = "EDIT";
}
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqPaidChequeReturn.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqPaidChequeReturn.strSysModuleName, DataTypeName = "vhrSysModuleName"},
new NpgsqlParameter("vhrAction", NpgsqlDbType.Varchar, 50) { Value = strAction, DataTypeName = "vhrAction"},
};
DataSet objDataSet = this.insDbService.FnExcecuteSqlCommand("SELECT * FROM fn_check_user_permission(:linLoginUserId, :vhrSysModuleName, :vhrAction)", lstSqlParameter);
if (objDataSet != null && Convert.ToInt16(objDataSet.Tables[0].Rows[0]["sin_sql_check_status"]) == -1)
{
throw (new TaasUserPermissionException(this.insGlobalFunctions.FnGetExceptionResponseString("You have no Permission to PaidChequeReturn ADD/UPDATE.", "PAIDCHEQUE_CONTROLLER.CS#004")));
}

// !!! Model Validation
if (!ModelState.IsValid)
{
string strMdlValidationErrors = String.Join("; ", ModelState.Values.SelectMany(objStateValue => objStateValue.Errors)
.Select(objStateError => objStateError.ErrorMessage)
.ToList());
throw (new TaasModelValidationException(this.insGlobalFunctions.FnGetExceptionResponseString(strMdlValidationErrors, "PAIDCHEQUE_CONTROLLER.CS#005")));
}

// @@@ Decrypt
// ### Save
MdlResPaidChequeReturn mdlResPaidChequeReturn = this.insPaidChequeReturn.FnInsertOrUpdatePaidChequeReturn(mdlReqPaidChequeReturn);

return Ok(mdlResPaidChequeReturn);
}
catch (TaasAuthenticationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "AUTHENTICATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error.";

return Ok(mdlResponse);
}
catch (TaasUserPermissionException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "USER_PERMISSION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn User Permission Error.";

return Ok(mdlResponse);
}
catch (TaasModelValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Model Validation Error.";

return Ok(mdlResponse);
}
catch (TaasValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Validation Error.";

return Ok(mdlResponse);
}
catch (TaasLogicalException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "LOGICAL_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Logical Error.";

return Ok(mdlResponse);
}
catch (TaasSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn System Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Validation Error.";

return Ok(mdlResponse);
}
catch (TaasNoDataException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "NO_DATA_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn No Data Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Taas Error.";

return Ok(mdlResponse);
}
catch (Exception ex)
{
MdlResponse mdlResponse = new MdlResponse();

mdlResponse.sinStatus = -1;
mdlResponse.strStatusCode = "ERROR";
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strErrorCode = "PAIDCHEQUE_CONTROLLER.CS#001";
mdlResponse.strMessage = "PaidChequeReturn Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}


[HttpPost("DeletePaidChequeReturn")]
public IActionResult DeletePaidChequeReturn([FromBody] MdlReqBaseIntId mdlReqPaidChequeReturnBaseIntId)
{
try
{
// &&& Get Data from Header
mdlReqPaidChequeReturnBaseIntId.linLoginUserId = Convert.ToInt64(Request.Headers["linLoginUserId"]);
mdlReqPaidChequeReturnBaseIntId.strLoginUserName = Request.Headers["strLoginUserName"];
mdlReqPaidChequeReturnBaseIntId.strSysModuleName = Request.Headers["strSysModuleName"];
mdlReqPaidChequeReturnBaseIntId.dtmCurrentDateTime = DateTime.Now;

// *** Authentication
if (mdlReqPaidChequeReturnBaseIntId.linLoginUserId == 0) {
throw (new TaasAuthenticationException(this.insGlobalFunctions.FnGetExceptionResponseString("Login User Authentication Failed.", "PAIDCHEQUE_CONTROLLER.CS#006")));
}

// *** DELETE - User Permission Checking
string strAction = "DELETE";
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqPaidChequeReturnBaseIntId.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqPaidChequeReturnBaseIntId.strSysModuleName, DataTypeName = "vhrSysModuleName"},
new NpgsqlParameter("vhrAction", NpgsqlDbType.Varchar, 50) { Value = strAction, DataTypeName = "vhrAction"},
};
DataSet objDataSet = this.insDbService.FnExcecuteSqlCommand("SELECT * FROM fn_check_user_permission(:linLoginUserId, :vhrSysModuleName, :vhrAction)", lstSqlParameter);
if (objDataSet != null && Convert.ToInt16(objDataSet.Tables[0].Rows[0]["sin_sql_check_status"]) == -1)
{
throw (new TaasUserPermissionException(this.insGlobalFunctions.FnGetExceptionResponseString("You have no Permission to PaidChequeReturn DELETE.", "PAIDCHEQUE_CONTROLLER.CS#007")));
}

// @@@ Decrypt
// ### Delete
MdlResponse mdlResponse = this.insPaidChequeReturn.FnDeletePaidChequeReturn(mdlReqPaidChequeReturnBaseIntId);

return Ok(mdlResponse);
}
catch (TaasAuthenticationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "AUTHENTICATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error.";

return Ok(mdlResponse);
}
catch (TaasUserPermissionException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "USER_PERMISSION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn User Permission Error.";

return Ok(mdlResponse);
}
catch (TaasModelValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Model Validation Error.";

return Ok(mdlResponse);
}
catch (TaasValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Validation Error.";

return Ok(mdlResponse);
}
catch (TaasLogicalException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "LOGICAL_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Logical Error.";

return Ok(mdlResponse);
}
catch (TaasSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn System Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database Validation Error.";

return Ok(mdlResponse);
}
catch (TaasNoDataException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "NO_DATA_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn No Data Error.";

return Ok(mdlResponse);
}
catch (TaasDatabaseSystemException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "PaidChequeReturn Taas Error.";

return Ok(mdlResponse);
}
catch (Exception ex)
{
MdlResponse mdlResponse = new MdlResponse();

mdlResponse.sinStatus = -1;
mdlResponse.strStatusCode = "ERROR";
mdlResponse.strErrorType = "SYSTEM_ERROR";
mdlResponse.strErrorCode = "PAIDCHEQUE_CONTROLLER.CS#001";
mdlResponse.strMessage = "PaidChequeReturn Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}

(4-4/10)