Project

General

Profile

Feature #268 » 4-CsControllerFile.cs

Junaid M, 03/07/2024 06:09 PM

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




???Check the points
==================
1) Set Error code no -> corporate_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.Corporate;
using TAAS.Src.Corporate;


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


[HttpGet("GetCorporateBookingRuleInitializeData")]
public IActionResult GetCorporateBookingRuleInitializeData()
{
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.", "CORPORATE_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 CorporateBookingRule VIEW.", "CORPORATE_CONTROLLER.CS#002")));
}

MdlResCorporateBookingRuleInit mdlResCorporateBookingRuleInit = new MdlResCorporateBookingRuleInit();

// ??? Check and Rename or Remove If unwanted codes
Customer insCustomer = new Customer();
mdlResCorporateBookingRuleInit.lstMdlCustomerBaseIntId = insCustomer.FnGetAllCustomerKeyIntValue();

// CorporateBookingRule List
mdlResCorporateBookingRuleInit.lstMdlCorporateBookingRule = this.insCorporateBookingRule.FnGetAllCorporateBookingRuleWithActionUser();

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}


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

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

// *** ADD/UPDATE - User Permission Checking
string strAction = "ADD";
if (mdlReqCorporateBookingRule.mdlCorporateBookingRule.binCorporateBookingRuleId > 0)
{
strAction = "EDIT";
}
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqCorporateBookingRule.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqCorporateBookingRule.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 CorporateBookingRule ADD/UPDATE.", "CORPORATE_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, "CORPORATE_CONTROLLER.CS#005")));
}

// @@@ Decrypt
// ### Save
MdlResCorporateBookingRule mdlResCorporateBookingRule = this.insCorporateBookingRule.FnInsertOrUpdateCorporateBookingRule(mdlReqCorporateBookingRule);

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}


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

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

// *** DELETE - User Permission Checking
string strAction = "DELETE";
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqCorporateBookingRuleBaseIntId.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqCorporateBookingRuleBaseIntId.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 CorporateBookingRule DELETE.", "CORPORATE_CONTROLLER.CS#007")));
}

// @@@ Decrypt
// ### Delete
MdlResponse mdlResponse = this.insCorporateBookingRule.FnDeleteCorporateBookingRule(mdlReqCorporateBookingRuleBaseIntId);

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}

(6-6/10)