Ejemplo n.º 1
0
        public ActionResult Create(int?aircraftId, DateTime?startDate)
        {
            string   startTime = "06:00";
            string   endTime   = "07:00";
            DateTime endDate   = DateTime.Now;

            if (startDate == null || startDate.Value < DateTime.Now)
            {
                startDate = DateTime.Now.Date;
                startTime = DateTime.Now.AddHours(1).ToString("HH:00");
                endDate   = DateTime.Now.AddHours(2);
                endTime   = endDate.ToString("HH:00");
            }

            var model = new ReservationViewModel()
            {
                MemberId       = Convert.ToInt32(HttpContext.Profile.GetPropertyValue("MemberId")),//TODO: replace with common call to profile service
                AircraftId     = aircraftId != null ? aircraftId.Value : 0,
                InstructorId   = 0,
                StartDate      = startDate.Value,
                StartTime      = startTime,
                EndDate        = endDate,
                EndTime        = endTime,
                AircraftList   = _dataService.GetAllAirplanes(),
                InstructorList = _dataService.GetMembersByRoleAndStatus(UserRoles.Instructor, MemberStatus.Active),
                TimeList       = new List <DateTime>().GetListFromRange(DateTime.MinValue.AddHours(6), DateTime.MinValue.AddHours(22), new TimeSpan(0, 30, 0)).ConvertAll(x => new SelectListItem()
                {
                    Value = x.ToString("HH:mm"), Text = x.ToString("HH:mm")
                }).ToList(),
                Destination = "TKI"
            };

            // for default selection
            model.InstructorList.Add(new Member()
            {
                Id = -1, FirstName = ""
            });

            if (HttpContext.Request.UrlReferrer != null)
            {
                model.UrlReferrer = HttpContext.Request.UrlReferrer;
            }
            else
            {
                model.UrlReferrer = new Uri(Url.Action("Index", null, null, Request.Url.Scheme));
            }

            model.AircraftList.Insert(0, new Aircraft());
            model.InstructorList.Insert(0, new Member());

            return(View(model));
        }