???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(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 ?? "CorporateBookingRule User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(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(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(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(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 ?? "CorporateBookingRule User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(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(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(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(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 ?? "CorporateBookingRule User Permission Error."; return Ok(mdlResponse); } catch (TaasModelValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(ex.Message); mdlResponse.strErrorType = "VALIDATION_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Validation Error."; return Ok(mdlResponse); } catch (TaasLogicalException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "LOGICAL_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Logical Error."; return Ok(mdlResponse); } catch (TaasSystemException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "SYSTEM_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule System Error."; return Ok(mdlResponse); } catch (TaasDatabaseException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(ex.Message); mdlResponse.strErrorType = "DATABASE_ERROR"; mdlResponse.strMessage = mdlResponse.strMessage ?? "CorporateBookingRule Database Error."; return Ok(mdlResponse); } catch (TaasDatabaseValidationException ex) { MdlResponse mdlResponse = JsonConvert.DeserializeObject(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(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(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(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); } }