Beispiel #1
0
        public ActionResult Review(ReviewPageViewModel viewmodel, string Command)
        {
            if(Command == "Save")
               {
                EAForm eaform = db.EAForms.Find(viewmodel.ID);
                if (eaform == null)
                {
                    return HttpNotFound();
                }

                if (ModelState.IsValid)
                {
                    eaform = Mapper.Map<ReviewPageViewModel, EAForm>(viewmodel, eaform);
                    //Set the status and timestamp(s)
                    eaform.Status = db.EAFormStatuses.First(p => p.Name == "Draft");
                    eaform.LastUpdated = DateTime.Now;
                    eaform.CreateSaveHistoryRecord(viewmodel.InstructorSignature);
                    db.Entry(eaform).State = EntityState.Modified;
                    db.SaveChanges();
                    return Content("save:Saved", "text/html");
                }
                else
                {
                    var errors = ModelState.Values.SelectMany(v => v.Errors);
                    foreach (var error in errors)
                    {
                        if (error.Exception != null)
                            Elmah.ErrorSignal.FromCurrentContext().Raise(error.Exception);
                        else
                            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(error.ErrorMessage));
                    }
                    return Content("save:Review could not be saved", "text/html");
                }
            }
               else if (Command == "Search")
               {
               return Content("search:Keywords ", "text/html");
               }
               else
               {
               EAForm eaform = db.EAForms.Find(viewmodel.ID);
               if (eaform == null)
               {
                   return HttpNotFound();
               }

               if (ModelState.IsValid)
               {
                   eaform = Mapper.Map<ReviewPageViewModel, EAForm>(viewmodel, eaform);
                   //Set the status and timestamp(s)
                   eaform.Status = db.EAFormStatuses.First(p => p.Name == "Submitted");
                   eaform.LastUpdated = DateTime.Now;
                   eaform.LastSubmitted = DateTime.Now;
                   eaform.CreateSaveHistoryRecord(viewmodel.InstructorSignature);
                   db.Entry(eaform).State = EntityState.Modified;
                   db.SaveChanges();
                   return Content("submit:Thank you for submitting your review", "text/html");
               }
               else
               {
                   var errors = ModelState.Values.SelectMany(v => v.Errors);
                   foreach (var error in errors)
                   {
                       if (error.Exception != null)
                           Elmah.ErrorSignal.FromCurrentContext().Raise(error.Exception);
                       else
                           Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(error.ErrorMessage));
                   }
                   return Content("submit:Review could not be submitted", "text/html");
               }
               }
        }
Beispiel #2
0
        //UNAUTHENTICATED to allow instructors access
        //We use the same view with some minor logic to change the look/functionality
        //This allows us to avoid duplicating the view for another user
        public ActionResult Review(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            ViewBag.Title = "Review";

            var reviewPageViewModel = new ReviewPageViewModel();

            EAForm eaform = db.EAForms.Find(id);
            if (eaform == null)
            {
                return HttpNotFound();
            }
            ((System.Data.Entity.Infrastructure.IObjectContextAdapter)db).ObjectContext.LoadProperty(eaform, i => i.Status);

            //
            //Load ViewModel
            //

            //Statuses

            reviewPageViewModel = Mapper.Map<EAForm, ReviewPageViewModel>(eaform, reviewPageViewModel);
            reviewPageViewModel.SetupMultiSelectViewModels(eaform);

            return View("Review", "_UnauthLayout", reviewPageViewModel);
        }