Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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;
            }
        }