public ActionResult EditOrder(int?orderId) { var rep = new OrdersRepository(); var viewOrder = new Models.CreatingOrderViewModel { IsNew = true, OrderDate = DateTime.Now, ShippedDate = DateTime.Now, RequiredDate = DateTime.Now }; var customers = rep.GetAllCustomers(); var employees = rep.GetAllEmployees(); if (!orderId.HasValue) { ViewBag.Customers = customers; ViewBag.Employees = employees; return(PartialView("_EditOrder", viewOrder)); } var order = rep.GetAllOrders(false) .Where(x => x.OrderID == orderId.Value) .FirstOrDefault(); if (order == null) { return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.EmptyOrderId })); } ViewBag.Customers = customers .Where(x => x.CustomerID == order.CustomerID) .Concat(customers.Where(x => x.CustomerID != order.CustomerID)); ViewBag.Employees = employees .Where(x => x.EmployeeID == order.EmployeeID) .Concat(employees.Where(x => x.EmployeeID != order.EmployeeID)); Mapper.Initialize(cfg => cfg.CreateMap <DataAccessLayer.Models.Order, Models.CreatingOrderViewModel>()); viewOrder = Mapper.Map <DataAccessLayer.Models.Order, Models.CreatingOrderViewModel>(order); viewOrder.IsNew = false; return(PartialView("_EditOrder", viewOrder)); }
public ActionResult EditOrder(Models.CreatingOrderViewModel order) { var rep = new OrdersRepository(); Mapper.Initialize(cfg => cfg.CreateMap <Models.CreatingOrderViewModel, DataAccessLayer.Models.CreatingOrder>()); var creatingOrder = Mapper.Map <Models.CreatingOrderViewModel, DataAccessLayer.Models.CreatingOrder>(order); if (!ModelState.IsValid) { return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError })); } var minDate = DateTime.Parse("01.01.1990"); var maxDate = DateTime.Parse("01.01.9999"); if (order.OrderDate < minDate || order.OrderDate > maxDate) { return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError })); } if (order.ShippedDate < minDate || order.ShippedDate > maxDate) { return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError })); } if (order.RequiredDate < minDate || order.RequiredDate > maxDate) { return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError })); } if (order.IsNew) { rep.CreateOrder(creatingOrder); } else { rep.UpdateOrder(creatingOrder); } return(RedirectToAction("Index")); }