Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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 }));
        }
Exemple #6
0
        public DailyAgenda GetEventFromId(DailyAgenda dailyAgenda)
        {
            var result = this.dbContext.DailyAgendas.Where(d => d.Id == dailyAgenda.Id).FirstOrDefault();

            return(result);
        }
Exemple #7
0
 public void AddNewEvent(DailyAgenda dailyAgenda)
 {
     this.dbContext.DailyAgendas.Add(dailyAgenda);
 }