Beispiel #1
0
 public ActionResult AddPurchaseAccountStep5(AddPurchaseAccountVM mAddPurchaseAccountVm)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction(Stepper2.NextStep()));
     }
     return(View(mAddPurchaseAccountVm));
 }
Beispiel #2
0
        public ActionResult AddPurchaseAccountStep3(AddPurchaseAccountVM mAddPurchaseAccountVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(mAddPurchaseAccountVm));
            }
            var purchaseAcc = TempAccountAsAddPurchaseAccountVM();

            if (purchaseAcc.PurchasedUnits == null || purchaseAcc.PurchasedUnits.Count == 0)
            {
                ModelState.AddModelError("", "No Unit has been selected!");
                return(View(mAddPurchaseAccountVm));
            }

            return(RedirectToAction(Stepper2.NextStep()));
        }
Beispiel #3
0
 private void AddContractsToUnits(AddPurchaseAccountVM purchaseAcc)
 {
     foreach (var unit in purchaseAcc.PurchasedUnits)
     {
         if (unit.Contracts == null)
         {
             unit.Contracts = new List <ServiceContract>();
             foreach (var contract in _contractService.GetDefaultContractsForModel(unit.Stock.ModelId))
             {
                 var startIndexFrom  = purchaseAcc.PurchasedUnits.Count * 1000;
                 var serviceContract =
                     _accountService.CreateServiceContractFromContract(
                         unit.Contracts.NextIndex(c => c.ContractId, startIndexFrom), purchaseAcc.StartDate,
                         contract);
                 unit.Contracts.Add(serviceContract);
             }
         }
     }
 }
Beispiel #4
0
        public ActionResult AddPurchaseAccountStep6(AddPurchaseAccountVM mAddPurchaseAccountVm)
        {
            if (ModelState.IsValid)
            {
                var purAcc = TempAccountAsAddPurchaseAccountVM();
                if (TryUpdateModel(purAcc))
                {
                    var newAccount = new PurchaseAccount
                    {
                        AlternateAddressInstructions = purAcc.AlternateAddressInstructions,
                        AlternateAddress             = purAcc.AlternateAddress,
                        CustomerId     = purAcc.CustomerId,
                        Customer       = _customerService.GetCustomer(purAcc.CustomerId),
                        OneOffItems    = new List <OneOffItem>(),
                        PurchasedUnits = new List <PurchaseUnit>(),
                    };

                    foreach (var unit in purAcc.PurchasedUnits)
                    {
                        var newUnit = new PurchaseUnit
                        {
                            PurchasedDate    = unit.PurchasedDate,
                            RetailCost       = unit.RetailCost,
                            DiscountedAmount = unit.DiscountedAmount,
                            //Stock = unit.Stock,
                            StockId   = unit.StockId,
                            Contracts = unit.Contracts.Select(c => new ServiceContract
                            {
                                ContractTypeId = c.ContractTypeId,
                                //ContractType = c.ContractType,
                                ContractLengthInMonths = c.ContractLengthInMonths,
                                StartDate       = c.StartDate,
                                Charge          = c.Charge,
                                ExpiryDate      = c.ExpiryDate,
                                PaymentPeriodId = c.PaymentPeriodId,
                            }).ToList(),
                        };
                        newAccount.PurchasedUnits.Add(newUnit);
                    }
                    foreach (var oneOffItem in purAcc.OneOffItems)
                    {
                        var newOneOffItem = new OneOffItem
                        {
                            Description  = oneOffItem.Description,
                            Charge       = oneOffItem.Charge,
                            Date         = purAcc.StartDate,
                            Quantity     = oneOffItem.Quantity,
                            OneOffTypeId = oneOffItem.OneOffTypeId
                        };
                        newAccount.OneOffItems.Add(newOneOffItem);
                    }
                    if (ExecuteRepositoryAction(() =>
                    {
                        _accountService.AddTempAccount(newAccount);
                        _accountService.CommitChanges();
                    }))
                    {
                        Session["_accountId"] = newAccount.CustomerAccountId;
                        return(RedirectToAction(Stepper2.NextStep()));
                    }
                }
            }
            return(View(mAddPurchaseAccountVm));
        }