Esempio n. 1
0
        public ActionResult CreateNewSchedule(ScheduleHomeVM vm)
        {
            GetDAL get = new GetDAL();

            get.OpenConnection();

            Event e = get.GetEventByID(vm.SelectedEvent.IntEventID);

            List <RehearsalPart> rehearsalParts = get.GetRehearsalPartsByEvent(e);

            foreach (RehearsalPart rp in rehearsalParts)
            {
                rp.LstMembers = get.GetUsersByRehearsalPart(rp);
            }
            get.CloseConnection();

            //List<RehearsalPart> rehearsalParts = vm.LstAllRehearsalParts.Where(x => x.Event.Equals(e)).ToList();

            Schedule newSchedule = new Schedule(rehearsalParts, e);

            ScheduleViewVM model = new ScheduleViewVM();

            model.Schedule            = newSchedule.FinalSchedule;
            tmpRehearsalPartsSchedule = model.Schedule;

            foreach (LocalDate d in uniqueDatesOfRehearsals(model.Schedule.LstScheduledRehearsalParts))
            {
                Rehearsal tmpRehearsal = new Rehearsal();
                // get earliest rehearsal on any day
                DateTime fromDateOnly = new DateTime(d.Year, d.Month, d.Day);
                // get start of earliest rehearsal part on that day
                RehearsalPart earliest = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmStartDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).OrderBy(x => x.DtmStartDateTime.GetValueOrDefault()).FirstOrDefault();
                tmpRehearsal.DtmStartDateTime = earliest.DtmStartDateTime.GetValueOrDefault();

                // get end of latest rehearsal part on that day
                RehearsalPart lastest = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmEndDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).OrderByDescending(x => x.DtmEndDateTime.GetValueOrDefault()).FirstOrDefault();
                tmpRehearsal.DtmEndDateTime = lastest.DtmEndDateTime.GetValueOrDefault();

                tmpRehearsal.LstRehearsalParts = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmStartDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).ToList();

                model.LstTmpRehearsals.Add(tmpRehearsal);
            }

            return(View("ScheduleView", model));
        }
Esempio n. 2
0
        // GET: Schedule
        public ActionResult Index()
        {
            if (!Globals.LOGIN_STATUS)
            {
                return(RedirectToAction("Login", "Home"));
            }
            else
            {
                ScheduleHomeVM model = new ScheduleHomeVM();
                GetDAL         get   = new GetDAL();
                get.OpenConnection();

                model.LstUpcomingRehearsals = get.GetUpcomingRehearsalsByUser(Globals.LOGGED_IN_USER);

                foreach (var r in model.LstUpcomingRehearsals)
                {
                    r.LstRehearsalParts = get.GetRehearsalPartsByRehearsal(r);
                    foreach (RehearsalPart rp in r.LstRehearsalParts)
                    {
                        rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                    }
                }

                model.LstUserRehearsalParts        = get.GetUpcomingRehearsalPartsByUser(Globals.LOGGED_IN_USER);
                model.LstUnscheduledRehearsalParts = model.LstUserRehearsalParts.Where(x => x.DtmStartDateTime.Equals(null)).ToList();

                //foreach (var e in get.GetEventsByUser(Globals.LOGGED_IN_USER.IntUserID))
                //{
                //    get.CloseConnection();
                //    get.OpenConnection();
                //    model.LstUserRehearsalParts = model.LstUserRehearsalParts.Concat(get.GetRehearsalPartsByEvent(e)).ToList();
                //}
                //get.CloseConnection();
                //get.OpenConnection();
                //model.LstUpcomingRehearsalParts = get.GetUpcomingRehearsalPartsByUser(Globals.LOGGED_IN_USER);

                //model.LstUnscheduledRehearsalParts = model.LstUserRehearsalParts.Where(x => x.DtmStartDateTime.Equals(null)).ToList();

                //model.LstUpcomingRehearsalParts = model.LstUpcomingRehearsalParts.Except(model.LstUnscheduledRehearsalParts.ToList()).ToList();

                //model.LstUpcomingRehearsals = get.GetUpcomingRehearsalsByUser(Globals.LOGGED_IN_USER);

                //foreach (var r in model.LstUpcomingRehearsals)
                //{
                //    r.LstRehearsalParts = get.GetRehearsalPartsByRehearsal(r);
                //}

                //get.CloseConnection();
                //get.OpenConnection();
                model.LstAdminEvents = get.GetAdminEventsByUser(Globals.LOGGED_IN_USER.IntUserID);

                //foreach (RehearsalPart rp in model.LstUserRehearsalParts)
                //{
                //    rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                //}
                //foreach (RehearsalPart rp in model.LstUpcomingRehearsalParts)
                //{
                //    rp.LstMembers = get.GetUsersByRehearsalPart(rp);
                //}
                get.CloseConnection();

                return(View("ScheduleHome", model));
            }
        }