public void Delete(CalendarEventVm calendarEventVm) { if (calendarEventVm.EventType == EventType.Personal) { var history = _unit.EmailOnEventHistory.Get(e => e.Event.Id == calendarEventVm.Id); _unit.EmailOnEventHistory.Delete(history); _unit.PersonalEvent.Delete(_unit.PersonalEvent.Get(l => l.Event.Id == calendarEventVm.Id)); } else { var personalLinks = _unit.PersonalEvent.Load(link => link.Event.Id == calendarEventVm.Id).ToList(); var teamLinks = _unit.TeamEvent.Load(link => link.Event.Id == calendarEventVm.Id).ToList(); //Clear event history records _unit.EmailOnEventHistory .Load(history => history.Event.Id == calendarEventVm.Id) .ToList() .ForEach(_unit.EmailOnEventHistory.Delete); //Clear event link records personalLinks.ForEach(_unit.PersonalEvent.Delete); teamLinks.ForEach(_unit.TeamEvent.Delete); } }
public int Update(CalendarEventVm calendarEventVm) { Delete(calendarEventVm); //Recreate event var user = _unit.EmailOnEventHistory.Get(e => e.Event.Id == calendarEventVm.Id).User; calendarEventVm.Id = 0; return Save(calendarEventVm, user.Id); }
public void Should_not_save_personal_event_and_email_on_event_history_When_user_does_not_exist(string userName) { //arrange var notExistingUserId = 0; var personalEvent = new CalendarEventVm { EventType = EventType.Personal }; //act _service.Save(personalEvent, notExistingUserId); //assert _repoUnit.EmailOnEventHistory.Load().Should().HaveCount(0); _repoUnit.EmailOnEventHistory.Load().Should().HaveCount(0); }
public ActionResult Edit(CalendarEventVm calendarEvent) { try { _service.Update(calendarEvent); } catch (WarningException exception) { ModelState.AddModelError("", exception.Message); } return Json(new {redirectToUrl = Url.Action("Index", "Home")}); }
public void Should_not_create_any_record_in_team_event_repository_When_saving_personal_event(string userName) { //arrange var user = _repoUnit.User.Get(u => u.Email == _users[userName].Email); var personalEvent = new CalendarEventVm { EventType = EventType.Personal }; var eventLink = new[] { new PersonalEventLink { EventStatus = 0, Event = personalEvent.Map(), User = user } }; //act _service.Save(personalEvent, user.Id); //assert _repoUnit.TeamEvent.Load().Should().HaveCount(0); }
private List<User> getEventUsers(CalendarEventVm calendarEventVm) { var eventUsers = new List<User>(); if (calendarEventVm.Users != null) { calendarEventVm.Users.ForEach(user => eventUsers.Add(_unit.User.Get(user.UserId))); } if (calendarEventVm.Teams != null) { calendarEventVm.Teams.ForEach(team => _unit.Team.Get(team.Id) .Users.ToList().ForEach(eventUsers.Add)); } return eventUsers.Distinct().ToList(); }
public int Save(CalendarEventVm calendarEventVm, int userId) { if (calendarEventVm.EventType == EventType.Personal) return savePersonalEvent(calendarEventVm, userId); if (calendarEventVm.EventType == EventType.Meeting) return saveMeetingEvent(calendarEventVm); return 0; }
private void saveToEmailHistory(CalendarEventVm calendarEventVm, CalendarEvent calendarEvent, int userId) { var eventUsers = getEventUsers(calendarEventVm); if (calendarEvent.EventType == EventType.Personal) eventUsers.Add(_unit.User.Get(userId)); eventUsers.ForEach(u => _unit.EmailOnEventHistory.Save(new EmailOnEventHistory {Event = calendarEvent, User = u})); }
private int savePersonalEvent(CalendarEventVm calendarEventVm, int userId) { var calendarEvent = calendarEventVm.Map(); if(calendarEvent.Id == 0) { _unit.PersonalEvent.Save(new PersonalEventLink { Event = calendarEvent, User = _unit.User.Get(userId) }); } saveToEmailHistory(calendarEventVm, calendarEvent, userId); return calendarEvent.Id; }
public void Save(CalendarEventVm calendarEventVm, string currentUserEmail) { var currentUser = _unit.User.Get(user => user.Email == currentUserEmail); if (currentUser != null) { _savingService.Save(calendarEventVm, currentUser.Id); } }
public void Should_save_personal_event_for_existing_user(string userName) { //arrange var user = _repoUnit.User.Get(u => u.Email == _users[userName].Email); var personalEvent = new CalendarEventVm {EventType = EventType.Personal}; var eventLink = new[] {new PersonalEventLink {EventStatus = 0, Event = personalEvent.Map(), User = user}}; //act _service.Save(personalEvent, user.Id); //assert var events = _repoUnit.PersonalEvent.Load().ToList(); events.ForEach(e => e.Id = 0); //To not consider record id's events.ShouldAllBeEquivalentTo(eventLink); }
public int Update(CalendarEventVm calendarEventVm) { if (calendarEventVm.Id > 0) { return _savingService.Update(calendarEventVm); } return 0; }
public ActionResult Delete(CalendarEventVm calendarEvent) { _service.Delete(calendarEvent); return RedirectToAction("Index", "Home"); }
public void Should_update_personal_event(string userName) { //arrange var user = _repoUnit.User.Get(u => u.Email == _users[userName].Email); var personalEvent = new CalendarEventVm { EventType = EventType.Personal }; var eventLink = new[] { new PersonalEventLink { EventStatus = 0, Event = personalEvent.Map(), User = user } }; personalEvent.Id = _service.Save(personalEvent, user.Id); personalEvent.Text = "new Event"; personalEvent.Title = "Title"; //act _service.Update(personalEvent); //assert _repoUnit.PersonalEvent.Load().Select(link => link.Event).ShouldAllBeEquivalentTo(new[]{personalEvent}); }
public void Delete(CalendarEventVm calendarEvent) { _savingService.Delete(calendarEvent); }
private int saveMeetingEvent(CalendarEventVm calendarEventVm) { var calendarEvent = calendarEventVm.Map(); if (calendarEventVm.Users != null) { calendarEventVm.Users.ForEach(user => _unit.PersonalEvent.Save(new PersonalEventLink { Event = calendarEvent, User = _unit.User.Get(user.UserId) })); } if (calendarEventVm.Teams != null) { calendarEventVm.Teams.ForEach(team => _unit.TeamEvent.Save(new TeamEventLink { Event = calendarEvent, Team = _unit.Team.Get(team.Id) })); } saveToEmailHistory(calendarEventVm, calendarEvent, 0); return calendarEvent.Id; }
public void Should_save_email_on_event_history_When_save_personal_event_for_exisiting_user(string userName) { //arrange var user = _repoUnit.User.Get(u => u.Email == _users[userName].Email); var personalEvent = new CalendarEventVm { EventType = EventType.Personal }; var mailingHistoryRecord = new[] { new EmailOnEventHistory { Event = personalEvent.Map(), User = user, EmailOnEventStatus = EmailOnEventStatus.NotSent } }; //act _service.Save(personalEvent, user.Id); //assert var emailOnEventHistories = _repoUnit.EmailOnEventHistory.Load().ToList(); emailOnEventHistories.ForEach(e => e.Id = 0); //To not consider record id's emailOnEventHistories.ShouldAllBeEquivalentTo(mailingHistoryRecord); }