Project

General

Profile

Feature #290 » 4-CsControllerFile.cs

Junaid M, 02/19/2024 05:46 PM

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




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


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


[HttpGet("GetMasterGroupingInitializeData")]
public IActionResult GetMasterGroupingInitializeData()
{
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.", "SERVICE_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 MasterGrouping VIEW.", "SERVICE_CONTROLLER.CS#002")));
}

MdlResMasterGroupingInit mdlResMasterGroupingInit = new MdlResMasterGroupingInit();

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

// MasterGrouping List
mdlResMasterGroupingInit.lstMdlMasterGrouping = this.insMasterGrouping.FnGetAllMasterGroupingWithActionUser();

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}


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

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

// *** ADD/UPDATE - User Permission Checking
string strAction = "ADD";
if (mdlReqMasterGrouping.mdlMasterGrouping.binMasterGroupingId > 0)
{
strAction = "EDIT";
}
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqMasterGrouping.linLoginUserId, DataTypeName = "linLoginUserId"},
new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqMasterGrouping.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 MasterGrouping ADD/UPDATE.", "SERVICE_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, "SERVICE_CONTROLLER.CS#005")));
}

// @@@ Decrypt
// ### Save
MdlResMasterGrouping mdlResMasterGrouping = this.insMasterGrouping.FnInsertOrUpdateMasterGrouping(mdlReqMasterGrouping);

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}


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

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

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

// @@@ Decrypt
// ### Delete
MdlResponse mdlResponse = this.insMasterGrouping.FnDeleteMasterGrouping(mdlReqMasterGroupingBaseIntId);

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

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

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

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

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

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

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

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

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

return Ok(mdlResponse);
}

}

(4-4/10)