public async Task <IActionResult> Add(int id = 0)
        {
            AddViewModels model = new AddViewModels();

            model = await FillAddModel();

            //کاربر قصد اضافه کردن رکورد جدید را دارد
            if (id == 0)
            {
                try {
                    var _setting = _service.TblSetting.GetFirst();
                    var setting  = await _setting;
                    model.LifeInsuranceVM.InsuranceNumber_CenterCode     = setting.InsuranceNumber_CenterCode;
                    model.LifeInsuranceVM.InsuranceNumber_Code           = setting.InsuranceNumber_Code;
                    model.LifeInsuranceVM.InsuranceNumber_GarardadNumber = setting.InsuranceNumber_GarardadNumber;
                    model.LifeInsuranceVM.InsuranceNumber_Year           = setting.InsuranceNumber_Year;
                }
                catch { }
            }

            //کاربر قصد آپدیت کردن اطلاعات را دارد
            else if (id != 0)
            {
                var _insurance = _service.TblLifeInsurance.GetByID(id);
                var insuramce  = await _insurance;

                model.LifeInsuranceVM.Bimegozar_Name                 = insuramce.Bimegozar_Name;
                model.LifeInsuranceVM.Bimegozar_Phone                = insuramce.Bimegozar_Phone;
                model.LifeInsuranceVM.Bimeshode_Name                 = insuramce.Bimeshode_Name;
                model.LifeInsuranceVM.Bimeshode_Phone                = insuramce.Bimeshode_Phone;
                model.LifeInsuranceVM.Date_Soodoor_Shamsi            = insuramce.Date_Soodoor_Shamsi;
                model.LifeInsuranceVM.Date_Start_Shamsi              = insuramce.Date_Start_Shamsi;
                model.LifeInsuranceVM.Date_Soodoor_Miladi            = insuramce.Date_Soodoor_Miladi;
                model.LifeInsuranceVM.Date_Start_Miladi              = insuramce.Date_Start_Miladi;
                model.LifeInsuranceVM.InsuranceNumber_CenterCode     = insuramce.InsuranceNumber_CenterCode;
                model.LifeInsuranceVM.InsuranceNumber_Code           = insuramce.InsuranceNumber_Code;
                model.LifeInsuranceVM.InsuranceNumber_GarardadNumber = insuramce.InsuranceNumber_GarardadNumber;
                model.LifeInsuranceVM.InsuranceNumber_Number         = insuramce.InsuranceNumber_Number;
                model.LifeInsuranceVM.InsuranceNumber_Year           = insuramce.InsuranceNumber_Year;
                model.LifeInsuranceVM.Insurance_Status               = insuramce.Insurance_Status;
                model.LifeInsuranceVM.PaymentType    = insuramce.PaymentType;
                model.LifeInsuranceVM.Payment_Price  = insuramce.Payment_Price;
                model.LifeInsuranceVM.PishkhanID     = insuramce.PishkhanID;
                model.LifeInsuranceVM.SepordeAvaliye = insuramce.SepordeAvaliye;
                model.LifeInsuranceVM.Serial         = insuramce.Serial;
                model.LifeInsuranceVM.SupervisorID   = insuramce.SupervisorID;
                model.LifeInsuranceVM.UserID         = insuramce.UserID;
                model.LifeInsuranceVM.ID             = insuramce.ID;
            }

            return(View(model));
        }
        public async Task <IActionResult> Add(AddViewModels model, string ddlAgent, int ddlInsuranceStatus, int ddlPaymentType, int ddlPishkhan = 0, int ddlSupervisior = 0, int ID = 0)
        {
            if (model.LifeInsuranceVM.Payment_Price != 0)
            {
                try
                {
                    TblLifeInsurance obj = new TblLifeInsurance();

                    //Fill LifeInsurance Table Info
                    obj.ID                             = ID;
                    obj.Bimegozar_Name                 = model.LifeInsuranceVM.Bimegozar_Name;
                    obj.Bimegozar_Phone                = model.LifeInsuranceVM.Bimegozar_Phone;
                    obj.Bimeshode_Name                 = model.LifeInsuranceVM.Bimeshode_Name;
                    obj.Bimeshode_Phone                = model.LifeInsuranceVM.Bimeshode_Phone;
                    obj.Date_Soodoor_Shamsi            = model.LifeInsuranceVM.Date_Soodoor_Shamsi;
                    obj.Date_Start_Shamsi              = model.LifeInsuranceVM.Date_Start_Shamsi;
                    obj.InsuranceNumber_CenterCode     = model.LifeInsuranceVM.InsuranceNumber_CenterCode;
                    obj.InsuranceNumber_Code           = model.LifeInsuranceVM.InsuranceNumber_Code;
                    obj.InsuranceNumber_GarardadNumber = model.LifeInsuranceVM.InsuranceNumber_GarardadNumber;
                    obj.InsuranceNumber_Number         = model.LifeInsuranceVM.InsuranceNumber_Number;
                    obj.InsuranceNumber_Year           = model.LifeInsuranceVM.InsuranceNumber_Year;
                    obj.Insurance_Status               = Convert.ToBoolean(ddlInsuranceStatus);
                    obj.PaymentType                    = ddlPaymentType;
                    obj.Payment_Price                  = model.LifeInsuranceVM.Payment_Price;


                    //کد دفتر پیشخوان
                    if (ddlPishkhan != 0)
                    {
                        obj.PishkhanID = ddlPishkhan;
                    }

                    obj.SepordeAvaliye = model.LifeInsuranceVM.SepordeAvaliye;
                    obj.Serial         = model.LifeInsuranceVM.Serial;

                    //کد زیر گروه
                    if (ddlSupervisior != 0)
                    {
                        obj.SupervisorID = ddlSupervisior;
                    }

                    obj.UserID = ddlAgent;

                    ModelState.Clear();
                    //تاریخ های میلادی
                    obj.Date_Soodoor_Miladi = model.LifeInsuranceVM.Date_Soodoor_Miladi;
                    obj.Date_Start_Miladi   = model.LifeInsuranceVM.Date_Start_Miladi;

                    if (obj.Date_Soodoor_Miladi == new DateTime() || obj.Date_Start_Miladi == new DateTime())
                    {
                        ModelState.AddModelError(string.Empty, "تاریخ های میلادی بدرستی وارد نشدند");
                    }


                    //تاریخ ثبت بیمه نامه
                    obj.TarikhSabtBimename = DateTime.Now;

                    //ذخیره سازی در دیتابیس
                    //یعنی یک رکورد جدید می خواهیم ثبت کنیم
                    if (ID == 0)
                    {
                        //چک کردن اینکه آیا بیمه نامه ای قبلا با این شماره یا سریال در سیستم ثیت شده یا نه
                        var isInsuranceDouble = await _service.TblLifeInsurance.CheckAny_InsuranceNumber_InsuranceSerial(model.LifeInsuranceVM.InsuranceNumber_Number, model.LifeInsuranceVM.Serial);

                        if (!isInsuranceDouble)
                        {
                            var _add      = _service.TblLifeInsurance.Add(obj);
                            var _complete = _service.Complete();

                            var add      = await _add;
                            var complete = await _complete;

                            //ذخیره سازی بدرستی انجام شده
                            if (add && complete > 0)
                            {
                                ViewBag.pm = "ok";
                                AddViewModels modell = new AddViewModels();
                                modell = await FillAddModel();

                                return(View(modell));
                            }

                            //خطا در ذخیره سازی اطلاعات در دیتا بیس
                            else
                            {
                                ViewBag.pm = "error";
                                return(View(model));
                            }
                        }
                        else
                        {
                            AddViewModels newModel = new AddViewModels();
                            newModel = await FillAddModel();

                            model.InsuranceStatus = newModel.InsuranceStatus;
                            model.PaymentType     = newModel.PaymentType;
                            model.PishkhanVm      = newModel.PishkhanVm;
                            model.SupervisiorVm   = newModel.SupervisiorVm;
                            model.AgentVM         = newModel.AgentVM;

                            ModelState.Clear();
                            ModelState.AddModelError(string.Empty, "شماره بیمه نامه یا شماره سریال بیمه نامه تکراری است");
                            return(View(model));
                        }
                    }

                    //می خواهیم آپدیت انجام دهیم
                    else
                    {
                        var update     = _service.TblLifeInsurance.Update(obj);
                        var _compelete = _service.Complete();
                        var compelete  = await _compelete;

                        if (update && compelete > 0)
                        {
                            return(RedirectToAction("List"));
                        }
                        else
                        {
                            ViewBag.pm = "error";
                            return(View(model));
                        }
                    }
                }
                catch (Exception)
                {
                    AddViewModels newModel = new AddViewModels();
                    newModel = await FillAddModel();

                    model.InsuranceStatus = newModel.InsuranceStatus;
                    model.PaymentType     = newModel.PaymentType;
                    model.PishkhanVm      = newModel.PishkhanVm;
                    model.SupervisiorVm   = newModel.SupervisiorVm;
                    model.AgentVM         = newModel.AgentVM;

                    ModelState.AddModelError(string.Empty, "لطفا اطلاعات را به درستی وارد نمایید");
                    return(View(model));
                }
            }
            else
            {
                AddViewModels newModel = new AddViewModels();
                newModel = await FillAddModel();

                model.InsuranceStatus = newModel.InsuranceStatus;
                model.PaymentType     = newModel.PaymentType;
                model.PishkhanVm      = newModel.PishkhanVm;
                model.SupervisiorVm   = newModel.SupervisiorVm;
                model.AgentVM         = newModel.AgentVM;


                ModelState.AddModelError(string.Empty, "وارد کردن حق بیمه ماهانه اجباری است");
                return(View(model));
            }
        }
        //متدی برای پر کردت ویو مدال که هر بار لازم بود صداش کنیم
        private async Task <AddViewModels> FillAddModel()
        {
            AddViewModels model = new AddViewModels();



            try
            {
                //Fill the model
                var _agent       = _user.GetAgentListAsync();
                var _pishkhan    = _service.TblPishkhan.GetAll();
                var _supervisior = _service.TblSupervisior.GetAll();
                var _setting     = _service.TblSetting.GetFirst();

                var agent       = await _agent;
                var pishkhan    = await _pishkhan;
                var supervisior = await _supervisior;

                //Fill Agent
                foreach (var item in agent)
                {
                    AgentListViewModels vm = new AgentListViewModels();
                    vm.AgentID = item.AgentID;
                    vm.Email   = item.Email;
                    vm.ID      = item.Id;
                    vm.Name    = item.Name;

                    model.AgentVM.Add(vm);
                }


                //Fill Pishkhan
                foreach (var item in pishkhan)
                {
                    TblPishkhan vm = new TblPishkhan();
                    vm.ID            = item.ID;
                    vm.Name          = item.Name;
                    vm.Pishkhan_Code = item.Pishkhan_Code;

                    model.PishkhanVm.Add(vm);
                }

                //Fill Supervisior
                foreach (var item in supervisior)
                {
                    TblSupervisior vm = new TblSupervisior();
                    vm.ID   = item.ID;
                    vm.Name = item.Name;

                    model.SupervisiorVm.Add(vm);
                }


                //Fill PaymentType
                var paymentType = Enum.GetValues(typeof(PaymentType)).Cast <PaymentType>().Select(p => p.ToString()).ToList();
                model.PaymentType = paymentType;

                //Insurance Status
                var insuranceStatus = Enum.GetValues(typeof(InsuranceStatus)).Cast <InsuranceStatus>().Select(p => p.ToString()).ToList();
                model.InsuranceStatus = insuranceStatus;


                //Fill Insurance Number
                var setting = await _setting;
                model.LifeInsuranceVM.InsuranceNumber_Code           = setting.InsuranceNumber_Code;
                model.LifeInsuranceVM.InsuranceNumber_CenterCode     = setting.InsuranceNumber_CenterCode;
                model.LifeInsuranceVM.InsuranceNumber_GarardadNumber = setting.InsuranceNumber_GarardadNumber;
                model.LifeInsuranceVM.InsuranceNumber_Year           = setting.InsuranceNumber_Year;
            }
            catch { }

            return(model);
        }
Пример #4
0
 public AddPage()
 {
     InitializeComponent();
     BindingContext = new AddViewModels();
 }