コード例 #1
0
 public RosterManagementViewModel GetSession()
 {
     if (Session["CurrentRoster"] == null)
     {
         Session["CurrentRoster"] = new RosterManagementViewModel();
     }
     return((RosterManagementViewModel)Session["CurrentRoster"]);
 }
コード例 #2
0
        private RosterManagementViewModel UpdateOffsets(RosterManagementViewModel roster)
        {
            int cumulative = 0;

            foreach (var timeSlot in roster.TimeSlots)
            {
                timeSlot.Offset = cumulative;
                cumulative     += timeSlot.Length;
            }
            return(roster);
        }
コード例 #3
0
        public ActionResult Edit(Guid?id)
        {
            Roster roster = db.Roster.SingleOrDefault(m => m.RosterId == id);

            if (roster != null)
            {
                RosterManagementViewModel model = new RosterManagementViewModel
                {
                    RosterId    = roster.RosterId,
                    Date        = roster.Date,
                    IsPublished = roster.IsPublished,
                    TimeSlots   = roster.TimeSlots.ToList(),
                };
                SetSession(model);
                return(View("~/Modules/Content/RosterManagement/RosterManagementForm.cshtml", model));
            }
            return(View("~/Modules/Content/RosterManagement/RosterManagementIndex.cshtml"));
        }
コード例 #4
0
        private RosterManagementIndexViewModel SetupIndexViewModel(bool partial = false)
        {
            var rosters   = db.Roster.ToList().OrderBy(x => x.Date);
            var viewModel = new RosterManagementIndexViewModel()
            {
                RosterList   = new List <RosterManagementViewModel>(),
                TemplateList = new List <RosterTemplateManagementViewModel>(),
            };

            foreach (var roster in rosters)
            {
                var model = new RosterManagementViewModel
                {
                    RosterId    = roster.RosterId,
                    Date        = roster.Date,
                    IsPublished = roster.IsPublished,
                    TimeSlots   = roster.TimeSlots.ToList(),
                };
                viewModel.RosterList.Add(model);
            }

            var templates = db.RosterTemplate.ToList();

            viewModel.TemplateList.Add(new RosterTemplateManagementViewModel
            {
                TemplateName = "Blank roster",
                TimeSlots    = new List <TimeSlotTemplate>(),
            });
            viewModel.SelectedTemplate = viewModel.TemplateList.First();

            foreach (var template in templates)
            {
                viewModel.TemplateList.Add(new RosterTemplateManagementViewModel
                {
                    RosterTemplateId = template.RosterTemplateId,
                    TemplateName     = template.RosterName,
                    TimeSlots        = template.TimeSlots.ToList(),
                });
            }
            return(viewModel);
        }
コード例 #5
0
        public ActionResult Add()
        {
            var viewModel = new RosterManagementViewModel
            {
                Date        = DateTime.Now.Date.AddHours(16),
                IsPublished = false,
                TimeSlots   = new List <TimeSlot>(),
            };

            if (Session["SelectedTemplateId"] == null || (Guid)Session["SelectedTemplateId"] == Guid.Empty)
            {
                viewModel.TimeSlots.Add(new TimeSlot {
                    NumberOfPlayers = 0,
                    Length          = 60,
                });
            }
            else
            {
                var id       = (Guid)Session["SelectedTemplateId"];
                var template = db.RosterTemplate.SingleOrDefault(m => m.RosterTemplateId == id);

                foreach (var timeSlot in template.TimeSlots)
                {
                    viewModel.TimeSlots.Add(new TimeSlot
                    {
                        GameName        = timeSlot.GameName,
                        Length          = timeSlot.Length,
                        Offset          = timeSlot.Offset,
                        NumberOfPlayers = timeSlot.NumberOfPlayers,
                        IsSteamGame     = timeSlot.IsSteamGame,
                    });
                }
            }


            SetSession(viewModel);
            return(View("~/Modules/Content/RosterManagement/RosterManagementForm.cshtml", viewModel));
        }
コード例 #6
0
 public void SetSession(RosterManagementViewModel model)
 {
     Session["CurrentRoster"] = model;
 }