// GET: Observation/Create
        public ActionResult SubmitObservation(int?id)
        {
            if (id == null)
            {
                return(new HttpNotFoundResult("Challenge ID must be specified"));
            }
            var maybeChallenge = uow.Challenges.GetMaybe(id.Value);

            if (maybeChallenge.None)
            {
                return(HttpNotFound());
            }
            var challenge = maybeChallenge.Single();
            var model     = new SubmitObservationViewModel
            {
                ChallengeId              = challenge.Id,
                ChallengeName            = challenge.Name,
                ObservationDateTimeLocal = DateTime.UtcNow,
                Seeing       = AntoniadiScale.Unknown,
                Transparency = TransparencyLevel.Unknown
            };

            // Set validation images
            // ToDo - randomly choose 3 incorrect images and obtain the 1 correct image from the challenge data
            // For now, just use the NoImage.png placeholder
            var validationImages = GetValidationImages(challenge);

            model.ValidationImages = validationImages.ToList();


            model.EquipmentPicker    = PickListExtensions.FromEnum <ObservingEquipment>().ToSelectList();
            model.SeeingPicker       = PickListExtensions.FromEnum <AntoniadiScale>().ToSelectList();
            model.TransparencyPicker = PickListExtensions.FromEnum <TransparencyLevel>().ToSelectList();
            return(View(model));
        }
 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);
 }