public async Task <IActionResult> AddCostCenter(ERTech.Web.Areas.Reports.Models.Ship2Model model)
        {
            if (ModelState.IsValid)
            {
                var ship = _mapper.Map <ShipTo>(model);
                ship.ClientId   = (int)_workContext.CurrentCustomer.ClientId;
                ship.LogonId    = (int)_workContext.CurrentCustomer.LogonId;
                ship.CreateDate = DateTime.Now;

                var result = await _setupDataViewModelService.InsertCostCenter(ship);

                if (result)
                {
                    SuccessNotification("The Cost Center data has been saved successfully.");
                    return(RedirectToAction("AddCostCenter"));
                }
                else
                {
                    ModelState.AddModelError("", "Something went wrong while editing record");
                }
            }

            //If something wrong then redisplay form
            await _setupDataViewModelService.PrepareCostCenter(model, null);

            return(View(model));
        }
        public async Task <IActionResult> AddCostCenter()
        {
            var model = new ERTech.Web.Areas.Reports.Models.Ship2Model();
            await _setupDataViewModelService.PrepareCostCenter(model, null);

            return(View(model));
        }
        public async Task <IActionResult> EditCostCenter(int Sid, bool?dub)
        {
            if (Sid <= 0)
            {
                return(RedirectToAction("Ship2"));
            }

            var ship = await _setupDataViewModelService.GetCostCenterBySid(Sid);

            var model = new ERTech.Web.Areas.Reports.Models.Ship2Model();
            await _setupDataViewModelService.PrepareCostCenter(model, ship);

            if (dub != null)
            {
                model.IsDuplicate = (bool)dub;
            }

            return(View(model));
        }
        public async Task <IActionResult> EditCostCenter(ERTech.Web.Areas.Reports.Models.Ship2Model model)
        {
            if (ModelState.IsValid)
            {
                if (!model.IsDuplicate)
                {
                    var shipto = await _setupDataViewModelService.GetCostCenterBySid(model.Sid);

                    if (shipto == null)
                    {
                        return(RedirectToAction("Ship2"));
                    }

                    var result = await _setupDataViewModelService.UpdateCostCenter(shipto, model);

                    if (result)
                    {
                        SuccessNotification("The Cost Center data has been updated successfully.");
                        return(RedirectToAction("EditCostCenter", "SystemManagement",
                                                new { Sid = model.Sid }));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Something went wrong while editing record");
                    }
                }
                else
                {
                    var ship = new ShipTo
                    {
                        ApprovalId = model.NewDubApprovalId,
                        Sorderedby = model.NewDubSorderedby,
                        ShipId     = model.ShipId,
                        Sname      = model.Sname,
                        DivisionId = model.DivisionId,
                        Sadd1      = model.Sadd1,
                        Sadd2      = model.Sadd2,
                        Scity      = model.Scity,
                        Sst        = model.Sst,
                        ClientId   = (int)_workContext.CurrentCustomer.ClientId,
                        LogonId    = (int)_workContext.CurrentCustomer.LogonId,
                        CreateDate = DateTime.Now,
                        Szip       = model.Szip,
                        Sph        = model.Sph,
                        SsalesTax  = model.SsalesTax,
                        Principal  = model.Principal
                    };

                    var result = await _setupDataViewModelService.InsertCostCenter(ship);

                    if (result)
                    {
                        SuccessNotification("The Cost Center data has been saved successfully.");
                        return(RedirectToAction("Ship2", "SystemManagement"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Something went wrong while editing record");
                    }
                }
            }

            //If something wrong then redisplay form
            await _setupDataViewModelService.PrepareCostCenter(model, null);

            return(View(model));
        }