public IActionResult UpdateOrder(OrderViewModel model) { if (ModelState.IsValid) { int accountId = Convert.ToInt32(User.Claims.Where(c => c.Type == "Id").Select(c => c.Value).SingleOrDefault()); Order checkorder = this._factory.OrderLogic().GetOrderById(model.OrderId, accountId); bool changed = checkorder.Id != model.OrderId || checkorder.Description != model.Description || checkorder.DeliverDate != model.DeliverDate || checkorder.OrderDate != model.OrderDate || checkorder.Length != model.Length || checkorder.Width != model.Width || checkorder.Height != model.Height || checkorder.Weight != model.Weight || checkorder.Address.City != model.City || checkorder.Address.Country != model.Country || checkorder.Address.StreetName != model.StreetName || checkorder.Address.StreetNumber != model.StreetNumber || checkorder.Address.ZipCode != model.ZipCode; if (changed) { Order order = model.CopyTo(); //TODO update the order + address assigned to it if (this._factory.OrderLogic().UpdateOrder(order)) { TempData["message"] = "Order succesfully updated!"; return(View("Order", model)); } TempData["errormessage"] = "Order cannot be updated!"; return(View("Order", model)); } TempData["errormessage"] = "Order cannot be update because you did not change anything!"; return(View("Order", model)); } return(View("Order", model)); }
public IActionResult CreateOrder(OrderViewModel model) { if (ModelState.IsValid) { int id = Convert.ToInt32(User.Claims.Where(c => c.Type == "Id").Select(c => c.Value).SingleOrDefault()); Order order = model.CopyTo(); if (this._factory.OrderLogic().CreateOrder(order, id)) { TempData["message"] = "Order has been created!"; } else { TempData["errormessage"] = "Order was not created!"; } return(RedirectToAction("Orders")); } return(View("Order", model)); }