public EPEntry(EPUser user, EPCalendar calendar, int priority) { User = user; Calendar = calendar; EntryKey = Guid.NewGuid().ToString(); Priority = priority; }
public void CreateCalendarFromFile(string username, string path, string calendarName) { EPCalendar tempCalendar; IICalendarCollection calendars = iCalendar.LoadFromFile(path); foreach (iCalendar calendar in calendars) { tempCalendar = new EPCalendar(calendar); tempCalendar.Name = calendarName; foreach (var tempEvent in calendar.Events) tempCalendar.Events.Add(new EPEvent { Summary = tempEvent.Summary, Start = tempEvent.Start.Local, End = tempEvent.End.Local}); AddCalendar(username, tempCalendar); } }
public void AddCalendar(string username, EPCalendar newCalendar) { EPCalendar tempCalendar = new EPCalendar(); using (var db = new EPContext()) { var tempUser = db.Users.FirstOrDefault(u => u.Username == username); tempCalendar.Name = newCalendar.Name + "$" + username + "_" + Guid.NewGuid().ToString() + "_C"; db.Entry(tempUser).Collection(p => p.Calendars).Load(); var newEntry = new EPEntry(tempUser, tempCalendar, tempUser.Calendars.Count); tempUser.Calendars.Add(newEntry); tempCalendar.Entryes.Add(newEntry); db.SaveChanges(); db.Entry(tempCalendar).Collection(p => p.Events).Load(); foreach (var eve in newCalendar.Events) tempCalendar.Events.Add(new EPEvent { Calendar = tempCalendar, EventID = eve.EventID, End = eve.End, Start = eve.Start, Summary = eve.Summary }); db.SaveChanges(); } }
public void CreateUser(string username) { using (var db = new EPContext()) { var newUser = new EPUser(); newUser.Username = username; db.Users.Add(newUser); var newCalendar = new EPCalendar(); newCalendar.Name = "Main$" + username + Guid.NewGuid().ToString(); var newEntry = new EPEntry(newUser, newCalendar, 0); newUser.Calendars.Add(newEntry); newCalendar.Entryes.Add(newEntry); db.SaveChanges(); } }
public EPCalendar FreeTimeCalendar(List<EPEntry> calendars, EPUser user, int groupIndex) { calendars.Sort((p, r) => p.Priority - r.Priority); EPCalendar tempCal = new EPCalendar(); tempCal.Entryes.Add(new EPEntry(user,tempCal,0)); using (var db = new EPContext()) { for(int i = 0; i<groupIndex; i++) { var cal = calendars[i]; db.Entryes.Attach(cal); db.Entry(cal).Reference(p => p.Calendar).Load(); db.Entry(cal.Calendar).Collection(p => p.Events).Load(); tempCal.Events.AddRange(cal.Calendar.Events); } } tempCal.Events.ForEach(p => p.Summary = "Bussy"); return tempCal; }