public ActionResult ResponseFor(ResponseFormViewModel response) { try { if (ModelState.IsValid) { var responseViewModel = new ResponseViewModel { Description = response.Description, RequestId = response.RequestId, Items = GetResponseItems(Request) }; donationBLO.SaveResponse(User.Identity.GetUserId <int>(), responseViewModel); return(RedirectToAction("Completed")); } else { return(View(response)); } } catch (Exception ex) { ErrorHandling.AddModelError(ModelState, ex); return(View(donationBLO.CreateEmptyResponseViewModel(response.RequestId))); } }
public ActionResult ResponseFor(int id) { try { ResponseFormViewModel response = donationBLO.CreateEmptyResponseViewModel(id); return(View(response)); } catch (Exception ex) { ErrorHandling.AddModelError(ModelState, ex); return(View()); } }
internal ResponseFormViewModel CreateEmptyResponseViewModel(int id) { using (var context = new ApplicationContext()) { var response = new ResponseFormViewModel { RequestId = id, Items = new List <ResponseItemFormViewModel>() }; var request = context.Requests.Find(id); foreach (var item in request.Items) { if (item.Quantity > 0) { response.Items.Add(new ResponseItemFormViewModel { RequestItem = new RequestItemViewModel { Id = item.Id, Title = item.Title, Detail = item.Detail, Type = item.Type, Quantity = item.Quantity }, ResponseItemInForm = new ResponseItemViewModel { RequestItemId = item.Id, Quantity = null } }); } } return(response); }; }