public object SaveAgent(bool isEditMode, string evnt, [FromBody] Reginfo regInfo) { try { if (isEditMode != true) { int fourDigitRandomNo = new Random().Next(1000, 9999); try { if (string.IsNullOrEmpty(regInfo.Pmphone)) { return(HttpStatusCode.BadRequest); } regInfo.CatId = "A"; regInfo.PinStatus = "N"; regInfo.AcTypeCode = 1; regInfo.RegSource = "P"; //regInfo.RegDate = regInfo.RegDate + DateTime.Now.TimeOfDay; regInfo.RegDate = System.DateTime.Now; regInfo.EntryDate = System.DateTime.Now; _service.Add(regInfo); _kycService.InsertModelToAuditTrail(regInfo, regInfo.EntryBy, 3, 3, "Agent", regInfo.Mphone, "Save successfully"); return(HttpStatusCode.OK); } catch (Exception ex) { return(HttpStatusCode.BadRequest); } } else { if (evnt == "edit") { regInfo.UpdateDate = System.DateTime.Now; Reginfo aReginfo = _kycService.NullifyReginfoForKycUpdate(regInfo); var prevModel = _kycService.GetRegInfoByMphone(aReginfo.Mphone); _service.UpdateRegInfo(aReginfo); var currentModel = _kycService.GetRegInfoByMphone(aReginfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.UpdateBy, 3, 4, "Agent", regInfo.Mphone, "Update successfully"); return(HttpStatusCode.OK); } else { var checkStatus = _kycService.CheckPinStatus(regInfo.Mphone); if (checkStatus.ToString() != "P") { if (string.IsNullOrEmpty(regInfo.AuthoBy)) { return(HttpStatusCode.Unauthorized); } int fourDigitRandomNo = new Random().Next(1000, 9999); regInfo.RegStatus = "P"; regInfo.AuthoDate = System.DateTime.Now; var prevModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _service.UpdateRegInfo(regInfo); _dsrService.UpdatePinNo(regInfo.Mphone, fourDigitRandomNo.ToString()); var currentModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.AuthoBy, 3, 4, "Agent", regInfo.Mphone, "Register successfully"); MessageService service = new MessageService(); service.SendMessage(new MessageModel() { Mphone = regInfo.Mphone, MessageId = "999", MessageBody = "Congratulations! Your OK wallet has been opened successfully." + " Your Pin is " + fourDigitRandomNo.ToString() + ", please change PIN to activate your account, " }); return(HttpStatusCode.OK); } else { return(HttpStatusCode.OK); } } } } catch (Exception ex) { errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()); return(HttpStatusCode.BadRequest); } }
public object Save(bool isEditMode, string evnt, Reginfo regInfo) { try { if (isEditMode != true) { var reginfoModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); if (reginfoModel == null) { regInfo.RegSource = "P"; regInfo.AcTypeCode = 1; //regInfo.RegDate = regInfo.RegDate + DateTime.Now.TimeOfDay; regInfo.RegDate = System.DateTime.Now; regInfo.EntryDate = System.DateTime.Now; var currentMcode = _MerchantRepository.GenerateMerchantCode(regInfo._MCategory); var Heading = ((IDictionary <string, object>)currentMcode).Keys.ToArray(); var details = ((IDictionary <string, object>)currentMcode); var values = details[Heading[0]]; var mcode = values; if (!string.IsNullOrEmpty(mcode.ToString())) { regInfo._Mcode = mcode.ToString(); } if (regInfo.SelectedCycleWeekDay != null) { regInfo.SelectedCycleWeekDay = string.Join(",", regInfo._SelectedCycleWeekDay); } MerchantConfig merchantConfig = new MerchantConfig(); if (regInfo._MCategory == "EMSM" || regInfo._MCategory == "EMSC") { merchantConfig.Sname = "EMS." + regInfo._OrgCode; merchantConfig.Ci = "CUSTOMER_SERVICE_CHARGE_MIN"; merchantConfig.PreFuncProcName = "PROC_COMMUNICATOR_EMS"; merchantConfig.Di = "CUSTOMER_SERVICE_CHARGE_MAX"; merchantConfig.SchargeFormula = "FUNC_CHECK_MIN_MAX_CHARGE(:A*:B,:C,:D)"; merchantConfig.PostFuncProcName = "PROC_REMOVE_LIEN"; merchantConfig.Category = "S"; regInfo.CatId = regInfo._MCategory; } else if (regInfo._MCategory == "MMSM" || regInfo._MCategory == "MMSC") { merchantConfig.Sname = "MMS." + regInfo._OrgCode; merchantConfig.Ci = "CUSTOMER_SERVICE_CHARGE_MIN"; merchantConfig.PreFuncProcName = "PROC_COMMUNICATOR_MMS"; merchantConfig.Di = "CUSTOMER_SERVICE_CHARGE_MAX"; merchantConfig.SchargeFormula = "FUNC_CHECK_MIN_MAX_CHARGE(:A*:B,:C,:D)"; merchantConfig.PostFuncProcName = "PROC_REMOVE_LIEN"; merchantConfig.Category = "S"; regInfo.CatId = regInfo._MCategory; } else if (regInfo._MCategory == "ABM") { if (string.IsNullOrEmpty(regInfo.Pmphone)) { return(HttpStatusCode.BadRequest);; } merchantConfig.Sname = null; merchantConfig.Ci = null; merchantConfig.PreFuncProcName = null; merchantConfig.Di = null; merchantConfig.SchargeFormula = null; merchantConfig.PostFuncProcName = null; merchantConfig.Category = "B"; regInfo.CatId = regInfo._MCategory; if (regInfo.SchargePer > 0) { double?serviceCharge = regInfo.SchargePer; regInfo.SchargePer = serviceCharge / 100; } } else { merchantConfig.Sname = null; merchantConfig.Ci = null; merchantConfig.PreFuncProcName = null; merchantConfig.Di = null; merchantConfig.SchargeFormula = null; merchantConfig.PostFuncProcName = null; merchantConfig.Category = regInfo._MCategory; regInfo.CatId = "M"; } merchantConfig.Mcode = regInfo._Mcode; merchantConfig.Mphone = regInfo.Mphone; try { _merchantConfigService.Add(merchantConfig); _kycService.InsertModelToAuditTrail(merchantConfig, regInfo.EntryBy, 5, 3, "Merchant Config", merchantConfig.Mphone, "Save successfully"); _MerchantRepository.Add(regInfo); _kycService.InsertModelToAuditTrail(regInfo, regInfo.EntryBy, 5, 3, "Merchant", regInfo.Mphone, "Merchant added"); } catch (Exception ex) { throw ex; } return(HttpStatusCode.OK); } else { return(HttpStatusCode.BadRequest); } } else { if (evnt == "edit") { if (regInfo._SelectedCycleWeekDay != null) { regInfo.SelectedCycleWeekDay = string.Join(",", regInfo._SelectedCycleWeekDay); } regInfo.UpdateDate = System.DateTime.Now; var prevModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _MerchantRepository.UpdateRegInfo(regInfo); var currentModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.UpdateBy, 5, 4, "Merchant", regInfo.Mphone, "Merchant updated"); return(HttpStatusCode.OK); } else { var checkStatus = _kycService.CheckPinStatus(regInfo.Mphone); if (checkStatus.ToString() != "P") { regInfo.RegStatus = "P"; regInfo.PinStatus = "Y"; regInfo.AuthoDate = System.DateTime.Now; //regInfo.RegDate = _kycService.GetRegDataByMphoneCatID(regInfo.Mphone, "M"); var prevModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _MerchantRepository.UpdateRegInfo(regInfo); var currentModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.AuthoBy, 5, 4, "Merchant", regInfo.Mphone, "Register successfully"); int fourDigitRandomNo = new Random().Next(1000, 9999); _MerchantRepository.UpdatePinNo(regInfo.Mphone, fourDigitRandomNo.ToString()); MessageService service = new MessageService(); service.SendMessage(new MessageModel() { Mphone = regInfo.Mphone, MessageId = "999", MessageBody = "Congratulations! Your OK wallet has been opened successfully." + " Your Pin is " + fourDigitRandomNo.ToString() + ", please change PIN to activate your account, " }); return(HttpStatusCode.OK); } else { return(HttpStatusCode.OK); } } } } catch (Exception ex) { throw ex; } }
public object SaveDistributor(bool isEditMode, string evnt, [FromBody] Reginfo regInfo) { try { if (isEditMode != true) { regInfo.CatId = "D"; regInfo.AcTypeCode = 1; regInfo.PinStatus = "N"; regInfo.RegSource = "P"; //regInfo.RegDate = regInfo.RegDate + DateTime.Now.TimeOfDay; regInfo.RegDate = System.DateTime.Now; regInfo.EntryDate = System.DateTime.Now; string distCode = regInfo.DistCode.Substring(0, 6); var isDistCodeExist = _kycService.CheckIsDistCodeExist(distCode); if (Convert.ToInt32(isDistCodeExist) == 1) { var newDistCode = _locationService.GenerateDistributorCode(distCode); regInfo.DistCode = newDistCode.ToString(); } else { try { _distributorService.Add(regInfo); _kycService.InsertModelToAuditTrail(regInfo, regInfo.EntryBy, 3, 3, "Distributor", regInfo.Mphone, "Save successfully"); return(HttpStatusCode.OK); } catch (Exception ex) { return(HttpStatusCode.BadRequest); } } return(HttpStatusCode.OK); } else { if (evnt == "edit") { regInfo.UpdateDate = System.DateTime.Now; var prevModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _distributorService.UpdateRegInfo(regInfo); var currentModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.UpdateBy, 3, 4, "Distributor", regInfo.Mphone, "Update successfully"); return(HttpStatusCode.OK); } else { var checkStatus = _kycService.CheckPinStatus(regInfo.Mphone); if (checkStatus.ToString() != "P") { regInfo.RegStatus = "P"; int fourDigitRandomNo = new Random().Next(1000, 9999); regInfo.AuthoDate = System.DateTime.Now; //regInfo.RegDate = _kycService.GetRegDataByMphoneCatID(regInfo.Mphone, "D"); var prevModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _distributorService.UpdateRegInfo(regInfo); _DsrService.UpdatePinNo(regInfo.Mphone, fourDigitRandomNo.ToString()); var currentModel = _kycService.GetRegInfoByMphone(regInfo.Mphone); _kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, regInfo.AuthoBy, 3, 4, "Distributor", regInfo.Mphone, "Register successfully"); //_DsrService.UpdatePinNo(regInfo.Mphone, fourDigitRandomNo.ToString()); MessageService service = new MessageService(); service.SendMessage(new MessageModel() { Mphone = regInfo.Mphone, MessageId = "999", MessageBody = "Congratulations! Your OK wallet has been opened successfully." + " Your Pin is " + fourDigitRandomNo.ToString() + ", please change PIN to activate your account, " }); return(HttpStatusCode.OK); } else { return(HttpStatusCode.OK); } } } } catch (Exception ex) { errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()); return(HttpStatusCode.BadRequest); } }
public object SaveCustomer(Reginfo aReginfo, bool isEdit, string evnt) { int fourDigitRandomNo = new Random().Next(1000, 9999); try { object prevModel = null; object currentModel = null; object reginfoModel = null; Reginfo convertedModel = null; if (isEdit != true) { aReginfo.CatId = "C"; aReginfo.PinStatus = "N"; aReginfo.AcTypeCode = 2; aReginfo.RegSource = "P"; aReginfo.EntryDate = System.DateTime.Now; //aReginfo.RegDate = aReginfo.RegDate + DateTime.Now.TimeOfDay; aReginfo.RegDate = System.DateTime.Now; aReginfo.Mphone = aReginfo.Mphone.Trim(); aReginfo.PhotoId = aReginfo.PhotoId.Trim(); try { reginfoModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); bool photoIdValid = (bool)kycService.CheckNidValidWithIdType(aReginfo.PhotoId, "C", aReginfo.PhotoIdTypeCode); if (!photoIdValid) { return("IDEXIST"); } if (reginfoModel == null) { if (string.IsNullOrEmpty(aReginfo.EntryBy)) { return(HttpStatusCode.Unauthorized); } if (aReginfo.Mphone.Length != 11) { return(HttpStatusCode.BadRequest); } _customerRepository.Add(aReginfo); kycService.UpdatePinNo(aReginfo.Mphone, fourDigitRandomNo.ToString()); kycService.InsertModelToAuditTrail(aReginfo, aReginfo.EntryBy, 3, 3, "Customer", aReginfo.Mphone, "Save successfully"); MessageService service = new MessageService(); service.SendMessage(new MessageModel() { Mphone = aReginfo.Mphone, MessageId = "999", MessageBody = "Congratulations! Your OK wallet has been opened successfully." + " Your Pin is " + fourDigitRandomNo.ToString() + ", please change PIN to activate your account, " }); } else { return("DATAEXIST"); } } catch (Exception ex) { throw ex; } return(HttpStatusCode.OK); } else { if (evnt == "reject") { var checkStatus = kycService.CheckPinStatus(aReginfo.Mphone); if (checkStatus.ToString() != "P") { aReginfo.UpdateDate = System.DateTime.Now; aReginfo.RegStatus = "R"; CustomerRequest customerRequest = new CustomerRequest { Mphone = aReginfo.Mphone, ReqDate = DateTime.Now, HandledBy = aReginfo.UpdateBy, Remarks = aReginfo.Remarks, Request = "Reject", Status = "Y" }; if (string.IsNullOrEmpty(aReginfo.UpdateBy)) { return(HttpStatusCode.Unauthorized); } customerRequestService.Add(customerRequest); prevModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); _customerRepository.UpdateRegInfo(aReginfo); currentModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, aReginfo.UpdateBy, 3, 4, "Customer", aReginfo.Mphone, "Reject successfully"); return(HttpStatusCode.OK); } return(HttpStatusCode.OK); } else if (evnt == "edit") { if (string.IsNullOrEmpty(aReginfo.UpdateBy)) { return(HttpStatusCode.Unauthorized); } aReginfo.UpdateDate = System.DateTime.Now; convertedModel = GetConvertedReginfoModel(aReginfo); prevModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); if (!string.IsNullOrEmpty(convertedModel.PhotoId)) { string photoIdPrev = prevModel.GetType().GetProperty("PhotoId").GetValue(prevModel, null).ToString(); string photoIdTypeCodePrev = prevModel.GetType().GetProperty("PhotoIdTypeCode").GetValue(prevModel, null).ToString(); int photoIdTypeCodeIntPrev = Convert.ToInt32(photoIdTypeCodePrev); string photoIdCurrent = convertedModel.PhotoId; int? photoIdTypeCodeIntCurrent = convertedModel.PhotoIdTypeCode; if ((photoIdCurrent != photoIdPrev) || (photoIdTypeCodeIntPrev != photoIdTypeCodeIntCurrent)) { bool photoIdValid = (bool)kycService.CheckNidValidWithIdType(photoIdCurrent, "C", convertedModel.PhotoIdTypeCode); if (!photoIdValid) { return("IDEXIST"); } } } _customerRepository.UpdateRegInfo(convertedModel); currentModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, aReginfo.UpdateBy, 3, 4, "Customer", aReginfo.Mphone, "Update successfully"); return(HttpStatusCode.OK); } else { var checkStatus = kycService.CheckPinStatus(aReginfo.Mphone); if (checkStatus.ToString() != "P") { aReginfo.RegStatus = "P"; aReginfo.AuthoDate = System.DateTime.Now; //aReginfo.RegDate = kycService.GetRegDataByMphoneCatID(aReginfo.Mphone, "C"); if (string.IsNullOrEmpty(aReginfo.AuthoBy)) { return(HttpStatusCode.Unauthorized); } prevModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); _customerRepository.UpdateRegInfo(aReginfo); currentModel = kycService.GetRegInfoByMphone(aReginfo.Mphone); kycService.InsertUpdatedModelToAuditTrail(currentModel, prevModel, aReginfo.AuthoBy, 3, 4, "Customer", aReginfo.Mphone, "Register successfully"); MessageService service = new MessageService(); service.SendMessage(new MessageModel() { Mphone = aReginfo.Mphone, MessageId = "999", MessageBody = "Dear Customer, Your OK wallet has been Activated successfully. For query, please call at OBL Call Centre: 16269, " }); return(HttpStatusCode.OK); } else { return(HttpStatusCode.OK); } } } } catch (Exception ex) { throw ex; } }