public void GetEventFromIdShouldReturnCorrectEvent() { var options = new DbContextOptionsBuilder <TaskPlannerDbContext>() .UseInMemoryDatabase(databaseName: "TimeSheet_GetEventById_Database") .Options; var dbContext = new TaskPlannerDbContext(options); var newEvent = new DailyAgenda { Description = "Nice short description", Project = "New Project", StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddHours(1.1), ThemeColor = "red" }; dbContext.DailyAgendas.Add(newEvent); dbContext.SaveChanges(); var service = new TimeSheetService(dbContext); var actual = service.GetEventFromId(newEvent); Assert.Equal(newEvent, actual); }
public void AddNewEventShouldAddEventInDatabase() { var options = new DbContextOptionsBuilder <TaskPlannerDbContext>() .UseInMemoryDatabase(databaseName: "TimeSheet_AddEvent_Database") .Options; var dbContext = new TaskPlannerDbContext(options); var newEvent = new DailyAgenda { Description = "Nice short description", Project = "New Project", StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddHours(1.1), ThemeColor = "red" }; dbContext.DailyAgendas.Add(newEvent); dbContext.SaveChanges(); var service = new TimeSheetService(dbContext); var actual = dbContext.DailyAgendas.FirstOrDefault(e => e.Id == newEvent.Id); Assert.Equal(newEvent.Project, actual.Project); Assert.Equal(newEvent.Description, actual.Description); Assert.Equal(newEvent.StartDate, actual.StartDate); Assert.Equal(newEvent.EndDate, actual.EndDate); Assert.Equal(newEvent.ThemeColor, actual.ThemeColor); }
public void GetAllProjectsByProjectNameShouldReturnCollectionOfAllProjectsWithSameName() { var options = new DbContextOptionsBuilder <TaskPlannerDbContext>() .UseInMemoryDatabase(databaseName: "Projects_GetAllProjects_Database") .Options; var dbContext = new TaskPlannerDbContext(options); var project = new DailyAgenda { Project = "New Project" }; var project2 = new DailyAgenda { Project = "New Project" }; var project3 = new DailyAgenda { Project = "New Project" }; dbContext.DailyAgendas.AddRange(project, project2, project3); dbContext.SaveChanges(); var projectService = new ProjectService(dbContext, null, null); var collection = projectService.GetAllProjectsByProjectName(project.Project); Assert.Equal(3, collection.Count()); }
public void GetAllEventsOfUserFromDBShouldReturnCorrectEvents() { var options = new DbContextOptionsBuilder <TaskPlannerDbContext>() .UseInMemoryDatabase(databaseName: "TimeSheet_GetAllEventByUserId_Database") .Options; var dbContext = new TaskPlannerDbContext(options); var newEvent = new DailyAgenda { Description = "Nice short description", Project = "New Project", StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddHours(1.1), ThemeColor = "red" }; var newEvent2 = new DailyAgenda { Description = "Nice short description", Project = "New Project 2", StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddHours(1.1), ThemeColor = "red" }; var user = new ApplicationUser { Email = "*****@*****.**", FullName = "Pesho" }; user.DailyAgendas.Add(newEvent); user.DailyAgendas.Add(newEvent2); dbContext.DailyAgendas.Add(newEvent); dbContext.Users.Add(user); dbContext.SaveChanges(); var service = new TimeSheetService(dbContext); var actual = service.GetAllEventsOfUserFromDB(user.Id); Assert.Equal(2, actual.Count()); }
public ActionResult SaveEvent(DailyAgenda dailyAgenda) { var status = false; if (dailyAgenda.Id != null) { //Editing existing event var newEvent = this.timeSheetService.GetEventFromId(dailyAgenda); if (newEvent != null) { newEvent.Project = dailyAgenda.Project; newEvent.SubCategory = dailyAgenda.SubCategory; newEvent.StartDate = dailyAgenda.StartDate; newEvent.EndDate = dailyAgenda.EndDate; newEvent.Description = dailyAgenda.Description; newEvent.ThemeColor = dailyAgenda.ThemeColor; } } else { //Adding new event //First adding the created event to the current User collection "DailyAgendas" var userId = GetCurrentUserId(); var user = this.userService.GetCurrentUserFromDb(userId); user.DailyAgendas.Add(dailyAgenda); //Adding the event this.timeSheetService.AddNewEvent(dailyAgenda); } this.timeSheetService.UpdateDatabase(); status = true; return(new JsonResult(new { status })); }
public DailyAgenda GetEventFromId(DailyAgenda dailyAgenda) { var result = this.dbContext.DailyAgendas.Where(d => d.Id == dailyAgenda.Id).FirstOrDefault(); return(result); }
public void AddNewEvent(DailyAgenda dailyAgenda) { this.dbContext.DailyAgendas.Add(dailyAgenda); }