예제 #1
0
 public EPEntry(EPUser user, EPCalendar calendar, int priority)
 {
     User = user;
     Calendar = calendar;
     EntryKey = Guid.NewGuid().ToString();
     Priority = priority;
 }
예제 #2
0
 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);
     }
 }
예제 #3
0
 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();
     }
 }
예제 #4
0
 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();
     }
 }
예제 #5
0
 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;
 }