public void BuildSelectListsForOrderViewModel(OrderViewModel orderViewModel) { var creditTermDurations = _creditTermDurationSelectListBuilder.BuildSelectList(); var paymentTermTypes = _paymentTermTypeSelectListBuilder.BuildSelectList(_paymentTermTypeRepository.GetAllPaymentTermTypes()); var splitPercentages = _splitPercentagesSelectListBuilder.BuildSelectList(); orderViewModel.CurrencyTypesSelectList = _currencyTypeSelectListBuilder.BuildSelectListItemsForCurrencyTypes(_currencyTypeRepository.GetAllCurrencyTypes()); orderViewModel.PaymentTerm1.PaymentTermTypes = paymentTermTypes; orderViewModel.PaymentTerm2.PaymentTermTypes = paymentTermTypes; orderViewModel.PaymentTerm1.CreditTermDurations = creditTermDurations; orderViewModel.PaymentTerm2.CreditTermDurations = creditTermDurations; orderViewModel.PaymentTerm1.SplitPercentages = splitPercentages; orderViewModel.PaymentTerm2.SplitPercentages = splitPercentages; }
public ActionResult Edit(OrderViewModel orderEditViewModel) { Order order = _orderRepository.GetOrderById(orderEditViewModel.OrderId); _orderViewDataBuilder.BuildViewData(ViewData, order); SetViewModelFields(orderEditViewModel, order.CustomerId); if (orderEditViewModel.PaymentTerm1.PaymentTerm.SplitPercentage + orderEditViewModel.PaymentTerm2.PaymentTerm.SplitPercentage != 1M) { ModelState.AddModelError("", "Split Percentages Must Total 100%"); } if (!ModelState.IsValid) { return View(orderEditViewModel); } CopyOrderViewModelToOrder(orderEditViewModel, order); _orderRepository.SaveChanges(); orderEditViewModel.SavedSuccessfully = true; return View(orderEditViewModel); }
public ActionResult New(int id, OrderViewModel orderViewModel) { Customer customer = _customerRepository.GetCustomerById(id); if (orderViewModel.PaymentTerm1.PaymentTerm.SplitPercentage + orderViewModel.PaymentTerm2.PaymentTerm.SplitPercentage != 1M) { ModelState.AddModelError("", "Split Percentages Must Total 100%"); } if (!ModelState.IsValid) { orderViewModel.IsNew = true; SetViewModelFields(orderViewModel, id); return View(orderViewModel); } var order = new Order(); CopyOrderViewModelToOrder(orderViewModel, order); order.CustomerId = customer.CustomerId; orderViewModel.PaymentTerm1.PaymentTerm.PaymentTermId = order.PaymentTerm1 != null ? order.PaymentTerm1.PaymentTermId : 0; orderViewModel.PaymentTerm2.PaymentTerm.PaymentTermId = order.PaymentTerm2 != null ? order.PaymentTerm2.PaymentTermId : 0; order.PaymentTerm1 = _paymentTermProcessor.ProcessPaymentTerm(orderViewModel.PaymentTerm1.PaymentTerm); order.PaymentTerm2 = _paymentTermProcessor.ProcessPaymentTerm(orderViewModel.PaymentTerm2.PaymentTerm); orderViewModel.SavedSuccessfully = true; _orderRepository.Add(order); _orderRepository.SaveChanges(); return RedirectToAction("Edit", new {id = order.OrderId}); }
public ActionResult New(int id) { var orderViewModel = new OrderViewModel { PaymentTerm1 = new OrderPaymentTermViewModel { PaymentTerm = new PaymentTerm() }, PaymentTerm2 = new OrderPaymentTermViewModel { PaymentTerm = new PaymentTerm() }, IsNew = true }; SetViewModelFields(orderViewModel, id); return View(orderViewModel); }
private void SetViewModelFields(OrderViewModel viewModel, int customerId) { viewModel.CustomerId = customerId; viewModel.SuggestedValues = _suggestedValueRepository.GetAllSuggestedValues(); viewModel.Customer = _customerRepository.GetCustomerById(viewModel.CustomerId); _orderViewModelSelectListBuilder.BuildSelectListsForOrderViewModel(viewModel); }
private void CopyOrderViewModelToOrder(OrderViewModel orderViewModel, Order order) { order.OrderId = orderViewModel.OrderId; order.OrderNumber = orderViewModel.OrderNumber; order.ContractWeight = orderViewModel.ContractWeight; order.ContractAmount = orderViewModel.ContractAmount; order.OrderDate = orderViewModel.OrderDate; order.IsActive = orderViewModel.IsActive; order.ContractCurrencyTypeId = order.ContractCurrencyTypeId; order.PaymentTermsOverride = orderViewModel.PaymentTermsOverride; order.IntentComments = orderViewModel.IntentComments; order.InvoiceComments = orderViewModel.InvoiceComments; order.FooterComments = orderViewModel.FooterComments; order.HeaderComments = orderViewModel.HeaderComments; }