private BatchObservationViewModel PrepareBatchObservationViewModel(BatchObservationViewModel model) { model.ChallengePicker = uow.Challenges.PickList.ToSelectList(); model.EquipmentPicker = PickListExtensions.FromEnum <ObservingEquipment>().ToSelectList(); model.SeeingPicker = PickListExtensions.FromEnum <AntoniadiScale>().ToSelectList(); model.TransparencyPicker = PickListExtensions.FromEnum <TransparencyLevel>().ToSelectList(); return(model); }
public ActionResult BatchObservationDetails(BatchObservationViewModel model) { var observation = mapper.Map <BatchObservationViewModel, Observation>(model); var results = gameEngine.BatchCreateObservations(observation, model.Users); PrepareBatchObservationViewModel(model); ViewData["Message"] = $"Successfully created {results.Succeeded}; Failed to create {results.Failed} observations."; foreach (var key in results.Errors.Keys) { ModelState.AddModelError(null, $"{key}: {results.Errors[key]}"); } return(View(model)); }
public ActionResult BatchObservations(List <BatchObservationUserViewModel> model) { var selectedUsers = model.Where(p => p.Selected).Select(s => s.UserId).ToList(); var observationModel = new BatchObservationViewModel { Users = selectedUsers, // Assume sensible defaults for group observing ObservationDateTimeUtc = DateTime.UtcNow, Equipment = ObservingEquipment.Telescope, Notes = "Group observation entered by the administrator." }; ViewBag.Message = $"Enter observation details and click Submit to create an observation for {selectedUsers.Count()} users."; PrepareBatchObservationViewModel(observationModel); return(View("BatchObservationDetails", observationModel)); }