Project

General

Profile

Feature #294 » 4-CsControllerFile.cs

Junaid M, 02/28/2024 02:32 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.Accounts;
using TAAS.Src.Accounts;


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


[HttpGet("GetChequePrintSettingsInitializeData")]
public IActionResult GetChequePrintSettingsInitializeData()
{
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";
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 ChequePrintSettings VIEW.", "PAIDCHEQUE_CONTROLLER.CS#002")));
}

MdlResChequePrintSettingsInit mdlResChequePrintSettingsInit = new MdlResChequePrintSettingsInit();

// ??? Check and Rename or Remove If unwanted codes

// ChequePrintSettings List
mdlResChequePrintSettingsInit.lstMdlChequePrintSettings = this.insChequePrintSettings.FnGetAllChequePrintSettingsWithActionUser();

return Ok(mdlResChequePrintSettingsInit);
}
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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Model Validation Error.";

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

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

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

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

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 = "ChequePrintSettings Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}


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

// *** Authentication
if (mdlReqChequePrintSettings.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 (mdlReqChequePrintSettings.mdlChequePrintSettings.binChequePrintSettingsId > 0)
{
strAction = "EDIT";
}
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqChequePrintSettings.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqChequePrintSettings.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 ChequePrintSettings 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
MdlResChequePrintSettings mdlResChequePrintSettings = this.insChequePrintSettings.FnInsertOrUpdateChequePrintSettings(mdlReqChequePrintSettings);

return Ok(mdlResChequePrintSettings);
}
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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Model Validation Error.";

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

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

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

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

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 = "ChequePrintSettings Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}


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

// *** Authentication
if (mdlReqChequePrintSettingsBaseIntId.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 = mdlReqChequePrintSettingsBaseIntId.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqChequePrintSettingsBaseIntId.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 ChequePrintSettings DELETE.", "PAIDCHEQUE_CONTROLLER.CS#007")));
}

// @@@ Decrypt
// ### Delete
MdlResponse mdlResponse = this.insChequePrintSettings.FnDeleteChequePrintSettings(mdlReqChequePrintSettingsBaseIntId);

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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Model Validation Error.";

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

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

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

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

return Ok(mdlResponse);
}
catch (TaasDatabaseValidationException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 ?? "ChequePrintSettings 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 ?? "ChequePrintSettings Database System Error.";

return Ok(mdlResponse);
}
catch (TaasException ex)
{
MdlResponse mdlResponse = JsonConvert.DeserializeObject<MdlResponse>(ex.Message);
mdlResponse.strErrorType = "ERROR";
mdlResponse.strMessage = mdlResponse.strMessage ?? "ChequePrintSettings 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 = "ChequePrintSettings Error.";
mdlResponse.strSysError = ex.Message;

return Ok(mdlResponse);
}

}

(3-3/12)