???File Path ========== ***...\Controllers\TargetController.cs ???Check the points ================== 1) Set Error code no -> target_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(); SetTarget insSetTarget = new SetTarget(); [HttpGet("GetSetTargetInitializeData")] public IActionResult GetSetTargetInitializeData() { 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.", "TARGET_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 SetTarget VIEW.", "TARGET_CONTROLLER.CS#002"))); } MdlResSetTargetInit mdlResSetTargetInit = new MdlResSetTargetInit(); // ??? Check and Rename or Remove If unwanted codes Account insAccount = new Account(); mdlResSetTargetInit.lstMdlAccountBaseIntId = insAccount.FnGetAllAccountKeyIntValue(); CounterStaff insCounterStaff = new CounterStaff(); mdlResSetTargetInit.lstMdlCounterStaffBaseIntId = insCounterStaff.FnGetAllCounterStaffKeyIntValue(); Branch insBranch = new Branch(); mdlResSetTargetInit.lstMdlBranchBaseIntId = insBranch.FnGetAllBranchKeyIntValue(); AirlineMaster insAirlineMaster = new AirlineMaster(); mdlResSetTargetInit.lstMdlAirlineMasterBaseIntId = insAirlineMaster.FnGetAllAirlineMasterKeyIntValue(); HotelMaster insHotelMaster = new HotelMaster(); mdlResSetTargetInit.lstMdlHotelMasterBaseIntId = insHotelMaster.FnGetAllHotelMasterKeyIntValue(); FinancialYear insFinancialYear = new FinancialYear(); mdlResSetTargetInit.lstMdlFinancialYearBaseIntId = insFinancialYear.FnGetAllFinancialYearKeyIntValue(); // SetTarget List mdlResSetTargetInit.lstMdlSetTarget = this.insSetTarget.FnGetAllSetTargetWithActionUser(); return Ok(mdlResSetTargetInit); } catch (TaasAuthenticationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "AUTHENTICATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error."; return Ok(mdlResponse); } catch (TaasUserPermissionException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "USER_PERMISSION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Model Validation Error."; return Ok(mdlResponse); } catch (TaasValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Validation Error."; return Ok(mdlResponse); } catch (TaasNoDataException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "NO_DATA_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget No Data Error."; return Ok(mdlResponse); } catch (TaasDatabaseSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database System Error."; return Ok(mdlResponse); } catch (TaasException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Taas Error."; return Ok(mdlResponse); } catch (Exception ex) { MdlResponse mdlResponse = new MdlResponse(); mdlResponse.sinStatus = -1; mdlResponse.strStatusCode = "ERROR"; mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strErrorCode = "TARGET_CONTROLLER.CS#001"; mdlResponse.strMessage = "SetTarget Error."; mdlResponse.strSysError = ex.Message; return Ok(mdlResponse); } } [HttpPost("SaveSetTarget")] public IActionResult SaveSetTarget([FromBody] MdlReqSetTarget mdlReqSetTarget) { try { // &&& Get Data from Header mdlReqSetTarget.linLoginUserId = Convert.ToInt64(Request.Headers["linLoginUserId"]); mdlReqSetTarget.strLoginUserName = Request.Headers["strLoginUserName"]; mdlReqSetTarget.strSysModuleName = Request.Headers["strSysModuleName"]; mdlReqSetTarget.dtmCurrentDateTime = DateTime.Now; // *** Authentication if (mdlReqSetTarget.linLoginUserId == 0) { throw (new TaasAuthenticationException(this.insGlobalFunctions.FnGetExceptionResponseString("Login User Authentication Failed.", "TARGET_CONTROLLER.CS#003"))); } // *** ADD/UPDATE - User Permission Checking string strAction = "ADD"; if (mdlReqSetTarget.mdlSetTarget.binSetTargetId > 0) { strAction = "EDIT"; } NpgsqlParameter[] lstSqlParameter = { new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqSetTarget.linLoginUserId, DataTypeName = "linLoginUserId"}, new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqSetTarget.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 SetTarget ADD/UPDATE.", "TARGET_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, "TARGET_CONTROLLER.CS#005"))); } // @@@ Decrypt // ### Save MdlResSetTarget mdlResSetTarget = this.insSetTarget.FnInsertOrUpdateSetTarget(mdlReqSetTarget); return Ok(mdlResSetTarget); } catch (TaasAuthenticationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "AUTHENTICATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error."; return Ok(mdlResponse); } catch (TaasUserPermissionException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "USER_PERMISSION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Model Validation Error."; return Ok(mdlResponse); } catch (TaasValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Validation Error."; return Ok(mdlResponse); } catch (TaasNoDataException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "NO_DATA_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget No Data Error."; return Ok(mdlResponse); } catch (TaasDatabaseSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database System Error."; return Ok(mdlResponse); } catch (TaasException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Taas Error."; return Ok(mdlResponse); } catch (Exception ex) { MdlResponse mdlResponse = new MdlResponse(); mdlResponse.sinStatus = -1; mdlResponse.strStatusCode = "ERROR"; mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strErrorCode = "TARGET_CONTROLLER.CS#001"; mdlResponse.strMessage = "SetTarget Error."; mdlResponse.strSysError = ex.Message; return Ok(mdlResponse); } } [HttpPost("DeleteSetTarget")] public IActionResult DeleteSetTarget([FromBody] MdlReqBaseIntId mdlReqSetTargetBaseIntId) { try { // &&& Get Data from Header mdlReqSetTargetBaseIntId.linLoginUserId = Convert.ToInt64(Request.Headers["linLoginUserId"]); mdlReqSetTargetBaseIntId.strLoginUserName = Request.Headers["strLoginUserName"]; mdlReqSetTargetBaseIntId.strSysModuleName = Request.Headers["strSysModuleName"]; mdlReqSetTargetBaseIntId.dtmCurrentDateTime = DateTime.Now; // *** Authentication if (mdlReqSetTargetBaseIntId.linLoginUserId == 0) { throw (new TaasAuthenticationException(this.insGlobalFunctions.FnGetExceptionResponseString("Login User Authentication Failed.", "TARGET_CONTROLLER.CS#006"))); } // *** DELETE - User Permission Checking string strAction = "DELETE"; NpgsqlParameter[] lstSqlParameter = { new NpgsqlParameter("linLoginUserId", NpgsqlDbType.Bigint) { Value = mdlReqSetTargetBaseIntId.linLoginUserId, DataTypeName = "linLoginUserId"}, new NpgsqlParameter("vhrSysModuleName", NpgsqlDbType.Varchar, 250) { Value = mdlReqSetTargetBaseIntId.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 SetTarget DELETE.", "TARGET_CONTROLLER.CS#007"))); } // @@@ Decrypt // ### Delete MdlResponse mdlResponse = this.insSetTarget.FnDeleteSetTarget(mdlReqSetTargetBaseIntId); return Ok(mdlResponse); } catch (TaasAuthenticationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "AUTHENTICATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "Authentication Error."; return Ok(mdlResponse); } catch (TaasUserPermissionException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "USER_PERMISSION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "MODEL_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Model Validation Error."; return Ok(mdlResponse); } catch (TaasValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database Validation Error."; return Ok(mdlResponse); } catch (TaasNoDataException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "NO_DATA_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget No Data Error."; return Ok(mdlResponse); } catch (TaasDatabaseSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Database System Error."; return Ok(mdlResponse); } catch (TaasException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "SetTarget Taas Error."; return Ok(mdlResponse); } catch (Exception ex) { MdlResponse mdlResponse = new MdlResponse(); mdlResponse.sinStatus = -1; mdlResponse.strStatusCode = "ERROR"; mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strErrorCode = "TARGET_CONTROLLER.CS#001"; mdlResponse.strMessage = "SetTarget Error."; mdlResponse.strSysError = ex.Message; return Ok(mdlResponse); } }