public Meeting Initialize(MeetingTemplate meetingTemplate, DateTime dateTime) { var meeting = new Meeting { DateTime = dateTime, Items = new List <MeetingItem>(), }; foreach (var meetingItem in meetingTemplate.Items) { var item = new MeetingItem { Description = meetingItem.Role.Description, Role = meetingItem.Role, StartTime = meetingItem.StartTime, MinTime = meetingItem.MinTime, MedTime = meetingItem.MedTime, MaxTime = meetingItem.MaxTime, Member = meetingItem.Member, }; meeting.Items.Add(item); } return(meeting); }
private void SeedMeetingTemplate() { var template = new MeetingTemplate { Name = "Test meeting template", Enabled = true, Items = new[] { new MeetingItem { Role = _roles[0], Description = _roles[0].Description, StartTime = new TimeSpan(18, 15, 0), MinTime = new TimeSpan(0, 0, 10), MedTime = new TimeSpan(0, 0, 12, 30), MaxTime = new TimeSpan(0, 0, 15) }, new MeetingItem { Role = _roles[1], Description = _roles[1].Description, StartTime = new TimeSpan(18, 30, 0), MinTime = new TimeSpan(0, 0, 0, 30), MedTime = new TimeSpan(0, 0, 0, 45), MaxTime = new TimeSpan(0, 0, 1) }, new MeetingItem { Role = _roles[2], Description = _roles[2].Description, StartTime = new TimeSpan(18, 31, 0), MinTime = new TimeSpan(0, 0, 2), MedTime = new TimeSpan(0, 0, 2, 30), MaxTime = new TimeSpan(0, 0, 3) }, new MeetingItem { Role = _roles[3], Description = _roles[3].Description, StartTime = new TimeSpan(18, 35, 0), MinTime = new TimeSpan(0, 0, 1), MedTime = new TimeSpan(0, 0, 1, 30), MaxTime = new TimeSpan(0, 0, 2) }, new MeetingItem { Role = _roles[4], Description = _roles[4].Description, StartTime = new TimeSpan(18, 38, 0), MinTime = new TimeSpan(0, 0, 1), MedTime = new TimeSpan(0, 0, 1, 30), MaxTime = new TimeSpan(0, 0, 2) }, new MeetingItem { Role = _roles[5], Description = _roles[5].Description, StartTime = new TimeSpan(18, 41, 0), MinTime = new TimeSpan(0, 0, 1), MedTime = new TimeSpan(0, 0, 1, 30), MaxTime = new TimeSpan(0, 0, 2) }, new MeetingItem { Role = _roles[6], Description = _roles[6].Description, StartTime = new TimeSpan(18, 44, 0), MinTime = new TimeSpan(0, 0, 5), MedTime = new TimeSpan(0, 0, 6), MaxTime = new TimeSpan(0, 0, 7) }, new MeetingItem { Role = _roles[7], Description = _roles[7].Description, StartTime = new TimeSpan(18, 52, 0), MinTime = new TimeSpan(0, 0, 2), MedTime = new TimeSpan(0, 0, 2, 30), MaxTime = new TimeSpan(0, 0, 3) }, new MeetingItem { Role = _roles[6], Description = _roles[8].Description, StartTime = new TimeSpan(18, 56, 0), MinTime = new TimeSpan(0, 0, 5), MedTime = new TimeSpan(0, 0, 6), MaxTime = new TimeSpan(0, 0, 7) }, new MeetingItem { Role = _roles[7], Description = _roles[0].Description, StartTime = new TimeSpan(19, 4, 0), MinTime = new TimeSpan(0, 0, 2), MedTime = new TimeSpan(0, 0, 2, 30), MaxTime = new TimeSpan(0, 0, 3) }, new MeetingItem { Role = _roles[8], Description = _roles[8].Description, StartTime = new TimeSpan(19, 8, 0), MinTime = new TimeSpan(0, 0, 8), MedTime = new TimeSpan(0, 0, 9), MaxTime = new TimeSpan(0, 0, 10) }, new MeetingItem { Role = _roles[9], Description = _roles[9].Description, StartTime = new TimeSpan(19, 19, 0), MinTime = new TimeSpan(0, 0, 0, 30), MedTime = new TimeSpan(0, 0, 0, 45), MaxTime = new TimeSpan(0, 0, 1) }, new MeetingItem { Role = _roles[10], Description = _roles[10].Description, StartTime = new TimeSpan(19, 21, 0), MinTime = new TimeSpan(0, 0, 4), MedTime = new TimeSpan(0, 0, 5), MaxTime = new TimeSpan(0, 0, 6) }, }, }; DocumentSession.Store(template); }
public ActionResult Index() { var ctx = new BlogDbContext(); var viewmodel = new CalendarIndexViewModel(); viewmodel.ProfilesToMeetings = ctx.ProfilesToMeetings.ToList(); viewmodel.Meetings = ctx.Meetings.Where(x => x.EveryoneAnswered == true && x.MeetingDateTime != null).OrderBy(x => x.MeetingDateTime).ToList(); var user = User.Identity.GetUserId(); ViewBag.people = ctx.Profiles.Where(x => x.ProfileID != user).ToList(); var InviteIDs = ctx.Invites.Where(x => x.ProfileID == user && x.Accepted == false).ToList(); ViewBag.inviteInformation = new List <InviteModel>(); foreach (var invite in InviteIDs) { var DateIds = new List <int>(); DateIds = ctx.MeetingDateOptionsToInvite.Where(x => x.InviteID == invite.InviteID).Select(x => x.MeetingDateOptionID).ToList(); var dateDetails = new List <DateTime>(); foreach (var dateid in DateIds) { dateDetails.Add(ctx.MeetingOptions.Where(x => x.OptionID == dateid).Select(x => x.Date).Single()); } string meetingName = ctx.Invites.Where(x => x.InviteID == invite.InviteID).Select(x => x.MeetingName).Single(); var meetingId = ctx.Invites.Where(x => x.InviteID == invite.InviteID).Single(); var meetingCreator = ctx.Meetings.FirstOrDefault(x => x.MeetingID == meetingId.MeetingID); var creatorFirstname = ctx.Profiles.Where(x => x.ProfileID == meetingCreator.ProfileId).Select(x => x.Forename).Single(); var creatorSurname = ctx.Profiles.Where(x => x.ProfileID == meetingCreator.ProfileId).Select(x => x.Surname).Single(); var creatorName = creatorFirstname + " " + creatorSurname; var inviteTemplate = new InviteModel() { MeetingID = invite.MeetingID, MeetingName = invite.MeetingName, Creator = creatorName, DateSuggestion1 = dateDetails[0], DateSuggestion2 = dateDetails[1], InviteId = invite.InviteID }; ViewBag.inviteInformation.Add(inviteTemplate); } var meetingInformation = ctx.Meetings.Where(x => x.ProfileId == user && x.EveryoneAnswered == true && x.MeetingDateTime == null).ToList(); ViewBag.meetingInfo = new List <MeetingTemplate>(); foreach (var meeting in meetingInformation) { var invited = ctx.ProfilesToMeetings.Where(x => x.MeetingID == meeting.MeetingID).Select(x => x.Profile).ToList(); var meetingID = meeting.MeetingID; var dates = (from dateNames in ctx.MeetingOptions join dateIDs in ctx.MeetingDateOptionsToInvite on dateNames.OptionID equals dateIDs.MeetingDateOptionID join invites in ctx.Invites on dateIDs.InviteID equals invites.InviteID where invites.MeetingID == meetingID select dateNames.Date).ToList(); if (dates.Count > 0) { var date1 = dates[0]; var date2 = dates[1]; var date1Amount = ctx.Invites.Where(x => x.MeetingID == meeting.MeetingID && x.ChosenDate == date1).ToList(); var date2Amount = ctx.Invites.Where(x => x.MeetingID == meeting.MeetingID && x.ChosenDate == date2).ToList(); var meetingTemplate = new MeetingTemplate() { MeetingName = meeting.Name, Participants = invited, MeetingID = meeting.MeetingID, Date1 = dates[0], Date2 = dates[1], Date1Voters = date1Amount.Count, Date2Voters = date2Amount.Count, }; ViewBag.meetingInfo.Add(meetingTemplate); } else { var meetingTemplate = new MeetingTemplate() { MeetingName = meeting.Name, }; ViewBag.meetingInfo.Add(meetingTemplate); } } return(View(viewmodel)); }