Exemplo n.º 1
0
        public async Task <ActionResult> AddorEditAgreement(AgreementModel agreement)
        {
            CompanyModel comp = new CompanyModel();

            if (ModelState.IsValid)
            {
                if (TempData["Comp"] != null)
                {
                    comp             = TempData["Comp"] as CompanyModel;
                    comp.ActiveTab   = "tab-6";
                    comp.Agreement   = agreement;
                    TempData["Comp"] = comp;
                    comp.Action      = 'I';

                    if (agreement.ServiceList.Where(x => x.IsChecked).Count() == 0 || agreement.DeliveryServiceList.Where(x => x.IsChecked).Count() == 0)
                    {
                        return(View("create", comp));
                    }
                }
                else
                {
                    comp = await GetCompany(agreement.RefKey);

                    comp.Action    = 'U';
                    comp.ActiveTab = "tab-5";
                    if (agreement.ServiceList.Where(x => x.IsChecked).Count() == 0 || agreement.DeliveryServiceList.Where(x => x.IsChecked).Count() == 0)
                    {
                        return(View("edit", comp));
                    }
                }
                if (agreement.CancelledChequeFile != null && agreement.CancelledChequeFile != null)
                {
                    if (System.IO.File.Exists(Server.MapPath(_path + "Cheques/" + agreement.CancelledChequeFile)))
                    {
                        System.IO.File.Delete(Server.MapPath(_path + "Cheques/" + agreement.CancelledChequeFile));
                    }
                }
                if (agreement.AgreementFile != null && agreement.AgreementPath != null)
                {
                    if (System.IO.File.Exists(Server.MapPath(_path + "Agreements/" + agreement.AgreementFile)))
                    {
                        System.IO.File.Delete(Server.MapPath(_path + "Agreements/" + agreement.AgreementFile));
                    }
                }
                if (agreement.CancelledChequePath != null)
                {
                    agreement.CancelledChequeFile = SaveImageFile(agreement.CancelledChequePath, "Cheques/");
                }
                if (agreement.AgreementPath != null)
                {
                    agreement.AgreementFile = SaveImageFile(agreement.AgreementPath, "Agreements/");
                }
                if (agreement.AGRId == null)
                {
                    agreement.Action = 'I';
                }
                else
                {
                    agreement.Action = 'U';
                }

                foreach (var item in agreement.ServiceList)
                {
                    if (item.IsChecked)
                    {
                        agreement.ServiceTypes = agreement.ServiceTypes + "," + item.Value;
                    }
                }
                agreement.ServiceTypes = agreement.ServiceTypes.Trim(',');
                foreach (var item in agreement.DeliveryServiceList)
                {
                    if (item.IsChecked)
                    {
                        agreement.DeliveryTypes = agreement.DeliveryTypes + "," + item.Value;
                    }
                }
                agreement.DeliveryTypes = agreement.DeliveryTypes.Trim(',');

                agreement.CreatedBy = CurrentUser.UserId;
                var response = await _compRepo.AddOrEditAgreeement(agreement);

                TempData["response"] = response;
                if (comp.Action == 'I')
                {
                    return(View("Create", comp));
                }
                else
                {
                    comp = await GetCompany(agreement.RefKey);

                    comp.ActiveTab = "tab-6";
                    return(View("Edit", comp));
                }
            }
            else
            {
                if (TempData["Comp"] != null)
                {
                    comp             = TempData["Comp"] as CompanyModel;
                    comp.ActiveTab   = "tab-5";
                    comp.Agreement   = agreement;
                    TempData["Comp"] = comp;
                    comp.Action      = 'I';

                    if (agreement.ServiceList.Where(x => x.IsChecked).Count() == 0 || agreement.DeliveryServiceList.Where(x => x.IsChecked).Count() == 0)
                    {
                        return(View("create", comp));
                    }
                }
                else
                {
                    comp = await GetCompany(agreement.RefKey);

                    comp.ActiveTab             = "tab-5";
                    comp.Agreement             = agreement;
                    comp.Agreement.ServiceList = await CommonModel.GetServiceType(new FilterModel());

                    comp.Agreement.DeliveryServiceList = await CommonModel.GetDeliveryServiceType(new FilterModel());

                    return(View("Edit", comp));
                }
            }

            return(View());
        }