public IActionResult Edit(long RequestID, int page, string message)
 {
     try
     {
         ViewBag.Page = page;
         tb_request req = _vm.GetRequest(RequestID);
         if (req.Score == 0)
         {
             ModelState.AddModelError("", "Previously verified request cannot be edited.");
             return(RedirectToAction(Globals.RouteActions.Index, GetRouteValues(RequestID, page)));
         }
         var vm = SingleRequestViewModel.CreateFromRequest(req);
         vm.ReturnAction = Globals.RouteActions.EditRequest;
         if (req == null)
         {
             return(HttpNotFound());
         }
         if (string.IsNullOrEmpty(message) == false)
         {
             ViewBag.Message = message;
         }
         return(View(vm));
     }
     catch (Exception e)
     {
         Response.StatusCode = (int)HttpStatusCode.BadRequest;
         ModelState.AddModelError("", ExceptionHelper.ExceptionMessageToString(e));
         return(View());
     }
 }
 public IActionResult EditEscort(SingleRequestEscortViewModel vm, long RequestID, int page)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var escort = vm.Escort;
             if (_repository.SaveEscort(escort))
             {
                 var req   = _repository.GetRequestByID(GetRequestorBadge(), RequestID);
                 var reqvm = SingleRequestViewModel.CreateFromRequest(req);
                 //return Escorts(reqvm, RequestID, page, vm.RequestAction);
                 return(RedirectToAction(Globals.RouteActions.Escorts, GetRouteValues(RequestID, page, vm.RequestAction)));
             }
             else
             {
                 ModelState.AddModelError("", "Unable to save escort");
                 return(View(escort));
             }
         }
         catch (Exception e)
         {
             Response.StatusCode = (int)HttpStatusCode.BadRequest;
             ModelState.AddModelError("", ExceptionHelper.ExceptionMessageToString(e));
             return(View(vm));
         }
     }
     HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
     ModelState.AddModelError("", ValidationHelper.ValidationMessageToString(ModelState));
     return(View(vm));
 }
 public IActionResult Add(SingleRequestViewModel vm, string Command, int page)
 {
     if (ModelState.IsValid)
     {
         try
         {
             if (Command.Equals(Globals.RouteActions.Escorts, StringComparison.CurrentCultureIgnoreCase))
             {
                 _repository.AddRequest(vm.Request);
                 return(Escorts(vm, vm.Request.RequestID, page, vm.ReturnAction));
             }
             else
             {
                 if (vm.Request.RequestEscorts.Count() == 0)
                 {
                     ModelState.AddModelError("", "Request must have at least one escort");
                     return(View(vm));
                 }
                 _repository.SaveRequest(vm.Request);
                 return(RedirectToAction(Globals.RouteActions.Index, "Request"));
             }
         }
         catch (Exception e)
         {
             Response.StatusCode = (int)HttpStatusCode.BadRequest;
             ModelState.AddModelError("", ExceptionHelper.ExceptionMessageToString(e));
             return(View(vm));
         }
     }
     HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
     ModelState.AddModelError("", ValidationHelper.ValidationMessageToString(ModelState));
     return(View(vm));
 }
        public IActionResult Add()
        {
            var req = tb_request.CreateRequest(GetRequestorBadge());
            var vm  = SingleRequestViewModel.CreateFromRequest(req);

            vm.ReturnAction = Globals.RouteActions.AddRequest;
            return(View(vm));
        }
 public IActionResult Escorts(SingleRequestViewModel vm, long RequestID, int page, string returnAction)
 {
     ViewBag.Page         = page;
     ViewBag.ReturnAction = returnAction;
     vm.Request           = _repository.GetRequestByID(GetRequestorBadge(), RequestID);
     if (string.IsNullOrEmpty(returnAction) == false)
     {
         vm.ReturnAction = returnAction;
     }
     if (vm.Request.RequestEscorts.Count == 0)
     {
         return(RedirectToAction(Globals.RouteActions.AddEscort, GetRouteValues(RequestID, page, returnAction)));
     }
     else
     {
         return(View("Escorts", vm));
     }
 }
 public IActionResult Edit(SingleRequestViewModel vm, string Command, long requestid, int page)
 {
     if (ModelState.IsValid)
     {
         ViewBag.Page = page;
         // reset score from edit
         vm.Request.Score = -1;
         try
         {
             if (Command.Equals("Escorts", StringComparison.CurrentCultureIgnoreCase))
             {
                 _repository.SaveRequest(vm.Request);
                 return(Escorts(vm, vm.Request.RequestID, page, "Edit"));
             }
             else
             {
                 _repository.SaveRequest(vm.Request);
                 var req = _repository.GetRequestByID(GetRequestorBadge(), vm.Request.RequestID);
                 if (req.RequestEscorts.Count() == 0)
                 {
                     ModelState.AddModelError("", "Request must have at least one escort");
                     return(View(vm));
                 }
                 return(RedirectToAction(Globals.RouteActions.Index, page));
             }
         }
         catch (Exception e)
         {
             Response.StatusCode = (int)HttpStatusCode.BadRequest;
             ModelState.AddModelError("", ExceptionHelper.ExceptionMessageToString(e));
             return(View(vm));
         }
     }
     HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
     ModelState.AddModelError("", ValidationHelper.ValidationMessageToString(ModelState));
     return(View());
 }