예제 #1
0
        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)));
            }
        }
예제 #2
0
        public ActionResult ResponseFor(int id)
        {
            try
            {
                ResponseFormViewModel response = donationBLO.CreateEmptyResponseViewModel(id);

                return(View(response));
            }
            catch (Exception ex)
            {
                ErrorHandling.AddModelError(ModelState, ex);
                return(View());
            }
        }
예제 #3
0
        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);
            };
        }