public CustomDayTest()
 {
     _dummyDBContext        = new DummyDBContext();
     _customDayWithNotes    = _dummyDBContext.CustomDay1;
     _customDayWithoutNotes = _dummyDBContext.CustomDay4;
     _note1 = _dummyDBContext.Note4;
 }
        public ActionResult <Helper> RemoveHelper(DateTime date, int userId)
        {
            CustomDay dayToEdit = _customDayRepository.GetByDate(date);

            if (dayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                Helper helperToRemove = _helperRepository.GetCustomDayHelper(date, userId);
                if (helperToRemove == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        dayToEdit.RemoveHelper(helperToRemove);
                        _customDayRepository.SaveChanges();
                        return(Ok(helperToRemove));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
        public bool CreateTimeslipsByCustomDay(CustomDateVM customDateVM)
        {
            CustomDay_WBIRepo customDay_WBIRepo = new CustomDay_WBIRepo(_context);
            CustomDayRepo     customDayRepo     = new CustomDayRepo(_context);

            var       timeslipTemplateList = customDay_WBIRepo.GetAllTimeslipTemplateByCustomDay(customDateVM.CustomdayId);
            CustomDay customDay            = customDayRepo.GetOneCustomDay(customDateVM.CustomdayId);

            foreach (CustomDay_WBI tt in timeslipTemplateList)
            {
                DateTime newStartTime = new DateTime(DateTime.Parse(customDateVM.Date).Year, DateTime.Parse(customDateVM.Date).Month, DateTime.Parse(customDateVM.Date).Day, tt.StartTime.Hour, tt.StartTime.Minute, tt.StartTime.Second);
                DateTime newEndTime   = new DateTime(DateTime.Parse(customDateVM.Date).Year, DateTime.Parse(customDateVM.Date).Month, DateTime.Parse(customDateVM.Date).Day, tt.EndTime.Hour, tt.EndTime.Minute, tt.EndTime.Second);

                TimeslipVM newTimeslip = new TimeslipVM()
                {
                    TimeslipId = null,
                    StartTime  = Convert.ToString(newStartTime),
                    EndTime    = Convert.ToString(newEndTime),
                    Remarks    = tt.Remarks,
                    DayId      = customDateVM.CustomdayId,
                    WBI_Id     = Convert.ToString(tt.NewChangeRequestId),
                    UserId     = Convert.ToString(customDay.UserId)
                };
                CreateTimeslip(newTimeslip);
            }
            return(true);
        }
        public ActionResult <Note> RemoveNote(DateTime date, int noteId)
        {
            CustomDay dayToEdit = _customDayRepository.GetByDate(date);

            if (dayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                Note noteToRemove = _noteRepository.GetCustomDayNote(date, noteId);
                if (noteToRemove == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        dayToEdit.RemoveNote(noteToRemove);
                        _customDayRepository.SaveChanges();
                        return(Ok(noteToRemove));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
Beispiel #5
0
        public void Edit_Succeeds()
        {
            DateTime date = DateTime.Today;

            CustomDayDTO dayDTO = new CustomDayDTO()
            {
                TemplateName = "eerste_week_eerste_dag",
                DayNr        = 1,
                WeekNr       = 1,
                Date         = DateTime.Today,
                PreDish      = "Kervelsoep",
                MainDish     = "Kip",
                Dessert      = "Chocomousse",
                Notes        = null
            };

            _customDayRepository.Setup(c => c.GetByDate(date)).Returns(_dummyDBContext.CustomDay1);
            _dayRepository.Setup(d => d.GetByWeekAndDay(dayDTO.TemplateName, dayDTO.WeekNr, dayDTO.DayNr)).Returns(_dummyDBContext.Day1);

            ActionResult <CustomDay> actionResult = _controller.Edit(date, dayDTO);
            var       response  = actionResult?.Result as OkObjectResult;
            CustomDay customDay = response?.Value as CustomDay;

            Assert.Equal("Chocomousse", customDay.Dessert);
            Assert.Equal(dayDTO.DayNr, customDay.DayNr);

            _customDayRepository.Verify(a => a.SaveChanges(), Times.Once);
        }
        public ActionResult <Helper> AddHelper(DateTime date, HelperDTO model)
        {
            CustomDay customDayToEdit = _customDayRepository.GetByDate(date);

            if (customDayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                User user = _userRepository.GetById(model.UserId);
                if (user == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        Helper helperToAdd = new Helper(customDayToEdit, user);
                        customDayToEdit.AddHelper(helperToAdd);
                        _customDayRepository.SaveChanges();
                        return(Ok(helperToAdd));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
        public ActionResult <DayActivity> RemoveActivity(DateTime date, int activityId, TimeOfDay timeOfDay)
        {
            CustomDay dayToEdit = _customDayRepository.GetByDate(date);

            if (dayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                DayActivity dayActivityToRemove = _dayActivityRepository.GetCustomDayActivity(date, timeOfDay, activityId);
                if (dayActivityToRemove == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        dayToEdit.RemoveDayActivity(dayActivityToRemove);
                        _customDayRepository.SaveChanges();
                        return(Ok(dayActivityToRemove));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
        public ActionResult <DayActivity> AddActivity(DateTime date, DayActivityDTO model)
        {
            CustomDay customDayToEdit = _customDayRepository.GetByDate(date);

            if (customDayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                Activity activity = _activityRepository.GetById(model.ActivityId);
                if (activity == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        DayActivity dayActivityToAdd = new DayActivity(customDayToEdit, activity, model.TimeOfDay);
                        customDayToEdit.AddDayActivity(dayActivityToAdd);
                        _customDayRepository.SaveChanges();
                        return(Ok(dayActivityToAdd));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
Beispiel #9
0
        public bool UpdateCustomDay(CustomDayVM customDayVM)
        {
            CustomDay customDay = _context.CustomDays.Where(i => i.CustomDayId == customDayVM.CustomDayId).FirstOrDefault();

            customDay.Name        = customDayVM.Name;
            customDay.Description = customDayVM.Description;
            _context.SaveChanges();
            return(true);
        }
Beispiel #10
0
        public async Task AddCustomDayAsync(Guid userId, DateTime day, int calories)
        {
            User user = await _userRepository.GetAsync(userId);

            if (user == null || user.Plan == null)
            {
                return;
            }
            await _planRepository.AddCustomDay(CustomDay.Create(user.Plan.PlanId, day, calories));
        }
        public ActionResult <CustomDay> Edit(DateTime date, CustomDayDTO model)
        {
            CustomDay dayToEdit = _customDayRepository.GetByDate(date);

            if (dayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                if (!dayToEdit.WeekNr.Equals(model.TemplateName) || (dayToEdit.WeekNr != model.WeekNr) || (dayToEdit.DayNr != model.DayNr))
                {
                    try
                    {
                        Day templateDayChosen = _dayRepository.GetByWeekAndDay(model.TemplateName, model.WeekNr, model.DayNr);
                        dayToEdit.TemplateName  = templateDayChosen.TemplateName;
                        dayToEdit.WeekNr        = templateDayChosen.WeekNr;
                        dayToEdit.DayNr         = templateDayChosen.DayNr;
                        dayToEdit.DayActivities = new List <DayActivity>();
                        dayToEdit.Helpers       = new List <Helper>();
                        foreach (DayActivity dayActivity in templateDayChosen.DayActivities)
                        {
                            DayActivity dayActivityToAdd = new DayActivity(dayToEdit, dayActivity.Activity, dayActivity.TimeOfDay);
                            dayToEdit.AddDayActivity(dayActivityToAdd);
                        }

                        foreach (Helper helper in templateDayChosen.Helpers)
                        {
                            Helper helperToAdd = new Helper(dayToEdit, helper.User);
                            dayToEdit.AddHelper(helperToAdd);
                        }
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
                try
                {
                    dayToEdit.Date     = model.Date;
                    dayToEdit.PreDish  = model.PreDish;
                    dayToEdit.MainDish = model.MainDish;
                    dayToEdit.Dessert  = model.Dessert;
                    _customDayRepository.SaveChanges();
                    return(Ok(dayToEdit));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                };
            }
        }
        public ActionResult <CustomDay> GetByDate(DateTime date)
        {
            CustomDay customDay = _customDayRepository.GetByDate(date);

            if (customDay == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(customDay));
            }
        }
Beispiel #13
0
        public void GetByDate_Succeeds()
        {
            DateTime date = DateTime.Today.AddDays(1);

            _customDayRepository.Setup(c => c.GetByDate(date)).Returns(_dummyDBContext.CustomDay2);

            ActionResult <CustomDay> actionResult = _controller.GetByDate(date);
            var       response = actionResult?.Result as OkObjectResult;
            CustomDay day      = response?.Value as CustomDay;


            Assert.Equal(2, day.DayNr);
        }
Beispiel #14
0
        public void GetForUser_Succeeds()
        {
            int      userId = 1;
            DateTime date   = DateTime.Today;

            _customDayRepository.Setup(d => d.GetByDate(date)).Returns(_dummyDBContext.CustomDay1);

            ActionResult <CustomDay> actionResult = _controller.GetForUser(userId, date);
            var       response  = actionResult?.Result as OkObjectResult;
            CustomDay customDay = response?.Value as CustomDay;

            Assert.Equal("chocomousse", customDay.Dessert);
        }
Beispiel #15
0
        public CustomDay CreateCustomDay(CustomDayVM customDay)
        {
            CustomDay newCustomDay = new CustomDay()
            {
                CustomDayId = GenerateCustomDayId(),
                Name        = customDay.Name,
                Description = customDay.Description,
                UserId      = Guid.Parse(customDay.UserId)
            };

            _context.CustomDays.Add(newCustomDay);
            _context.SaveChanges();

            return(newCustomDay);
        }
Beispiel #16
0
        public void DeleteCustomDay_RightDate_DeletesCustomDay()
        {
            DateTime date = DateTime.Today;

            _customDayRepository.Setup(c => c.GetByDate(date)).Returns(_dummyDBContext.CustomDay1);

            ActionResult <CustomDay> actionResult = _controller.Remove(date);
            var       response  = actionResult?.Result as OkObjectResult;
            CustomDay customDay = response?.Value as CustomDay;

            Assert.IsType <OkObjectResult>(actionResult?.Result);
            Assert.Equal("eerste_week_eerste_dag", customDay.TemplateName);
            _customDayRepository.Verify(a => a.Remove(It.IsAny <CustomDay>()), Times.Once);
            _customDayRepository.Verify(a => a.SaveChanges(), Times.Once);
        }
        public ActionResult <CustomDay> GetForUserNoHelpers(int userId, DateTime date)
        {
            CustomDay customDay = _customDayRepository.GetByDateNoHelpers(date);

            if (customDay == null)
            {
                return(NotFound());
            }
            else
            {
                IEnumerable <DayActivity> dayActivitiesAttended = customDay.DayActivities.Where(da => da.Attendances.Any(a => a.UserId == userId)).ToList();
                if (dayActivitiesAttended == null || !dayActivitiesAttended.Any()) // this condition was added because even if nothing matches the predicate a list with 0 items is returned
                                                                                   // variable == is always false
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        CustomDay customDayUser = new CustomDay(
                            customDay.TemplateName,
                            customDay.WeekNr,
                            customDay.DayNr,
                            customDay.Date,
                            customDay.PreDish,
                            customDay.MainDish,
                            customDay.Dessert
                            );

                        customDayUser.DayId         = customDay.DayId;
                        customDayUser.DayActivities = dayActivitiesAttended.ToList();
                        foreach (var dayActivity in customDayUser.DayActivities)
                        {
                            dayActivity.Attendances = dayActivity.Attendances.Where(da => da.UserId == userId).ToList();
                        }
                        customDayUser.Helpers = customDay.Helpers;
                        customDayUser.Notes   = customDay.Notes;
                        return(Ok(customDayUser));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
Beispiel #18
0
        public bool DeleteCustomDay(string id)
        {
            //delete all the templates first inside the custom day
            CustomDay_WBIRepo customDay_WBIRepo = new CustomDay_WBIRepo(_context);

            var timeslip_templates = customDay_WBIRepo.GetAllTimeslipTemplateByCustomDay(id);

            foreach (CustomDay_WBI template in timeslip_templates)
            {
                customDay_WBIRepo.DeleteOneTimeslipTemplate(template.TimeslipTemplateId);
            }

            CustomDay customDay = GetOneCustomDay(id);

            _context.CustomDays.Remove(customDay);
            _context.SaveChanges();
            return(true);
        }
        public ActionResult <CustomDay> Remove(DateTime date)
        {
            CustomDay dayToRemove = _customDayRepository.GetByDate(date);

            if (dayToRemove == null)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    _customDayRepository.Remove(dayToRemove);
                    _customDayRepository.SaveChanges();
                    return(Ok(dayToRemove));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
        public IActionResult CreateAllTimeslipsFromCustomDay([FromBody] CustomDateVM customDateVM)
        {
            //get the custom day (for the user ID)
            CustomDay customDay = customDayRepo.GetOneCustomDay(customDateVM.CustomdayId);
            //create a variable to store the date
            DateTime newDateTime;

            //check that date given is a valid datetime
            bool success1 = DateTime.TryParse(customDateVM.Date, out DateTime result1);

            if (success1)
            {
                newDateTime = result1;
            }
            else
            {
                return(new BadRequestObjectResult(new { message = "Please provide a valid date" }));
            }
            //get all the timeslips by user for a single date
            var userTimeslipsList = timeslipRepo.GetAllTimeslipsByUserIdWithDate(customDay.UserId, newDateTime);
            //get all timeslip templates by custom day
            var templateList = customDay_WBIRepo.GetAllTimeslipTemplateByCustomDay(customDateVM.CustomdayId);

            foreach (var timeslip in userTimeslipsList)
            {
                foreach (var template in templateList)
                {
                    template.StartTime = new DateTime(newDateTime.Year, newDateTime.Month, newDateTime.Day, template.StartTime.Hour, template.StartTime.Minute, template.StartTime.Second);
                    template.EndTime   = new DateTime(newDateTime.Year, newDateTime.Month, newDateTime.Day, template.EndTime.Hour, template.EndTime.Minute, template.EndTime.Second);
                    if (template.StartTime < timeslip.NewEndTask && template.EndTime > timeslip.NewStartTask)
                    {
                        return(new BadRequestObjectResult(new { message = "One of the times in this custom day overlaps with an existing timeslip. Your request cannot be processed." }));
                    }
                }
            }

            return(new OkObjectResult(timeslipRepo.CreateTimeslipsByCustomDay(customDateVM)));
        }
        public ActionResult <Note> AddNote(DateTime date, NoteDTO model)
        {
            CustomDay customDayToEdit = _customDayRepository.GetByDate(date);

            if (customDayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    Note noteToAdd = new Note(model.NoteType, model.Content);
                    customDayToEdit.AddNote(noteToAdd);
                    _customDayRepository.SaveChanges();
                    return(Ok(noteToAdd));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
        public ActionResult <CustomDay> Add(CustomDayDTO model)
        {
            Day templateDayChosen = _dayRepository.GetByWeekAndDay(model.TemplateName, model.WeekNr, model.DayNr);

            if (templateDayChosen == null)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    CustomDay customDayToCreate = new CustomDay(templateDayChosen.TemplateName, templateDayChosen.WeekNr, templateDayChosen.DayNr, model.Date, model.PreDish, model.MainDish, model.Dessert);
                    if (_customDayRepository.GetByDate(customDayToCreate.Date) != null)
                    {
                        return(BadRequest("A day for this date already exists"));
                    }
                    foreach (DayActivity dayActivity in templateDayChosen.DayActivities)
                    {
                        DayActivity dayActivityToAdd = new DayActivity(customDayToCreate, dayActivity.Activity, dayActivity.TimeOfDay);
                        customDayToCreate.AddDayActivity(dayActivityToAdd);
                    }
                    foreach (Helper helper in templateDayChosen.Helpers)
                    {
                        Helper helperToAdd = new Helper(customDayToCreate, helper.User);
                        customDayToCreate.AddHelper(helperToAdd);
                    }
                    _customDayRepository.Add(customDayToCreate);
                    _customDayRepository.SaveChanges();
                    return(Ok(customDayToCreate));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
 public void Remove(CustomDay customDay)
 {
     _customDays.Remove(customDay);
 }
 public void Add(CustomDay customDay)
 {
     _customDays.Add(customDay);
 }
Beispiel #25
0
        public void SeedData()
        {
            if (_context.AccountBase.Any())
            {
                return;
            }
            var clients = new AccountBase[]
            {
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Calgary Flames", DeletionStateCode = 0, StateCode = 0
                },
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Vancouver Canucks", DeletionStateCode = 0, StateCode = 0
                },
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Winnipeg Jets", DeletionStateCode = 0, StateCode = 0
                }
            };

            foreach (AccountBase a in clients)
            {
                _context.AccountBase.Add(a);
            }
            _context.SaveChanges();

            if (_context.NewProjectTypeExtensionBase.Any())
            {
                return;
            }
            var projectTypes = new NewProjectTypeExtensionBase[]
            {
                new NewProjectTypeExtensionBase
                {
                    NewProjectTypeId = Guid.NewGuid(),
                    NewName          = "Sports related"
                }
            };

            foreach (NewProjectTypeExtensionBase t in projectTypes)
            {
                _context.NewProjectTypeExtensionBase.Add(t);
            }
            _context.SaveChanges();

            if (_context.NewProjectExtensionBase.Any())
            {
                return;
            }
            var projects = new NewProjectExtensionBase[]
            {
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Calgary",
                    NewStartDate     = new DateTime(2018, 01, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 01, 30, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Calgary Flames").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                },
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Vancouver",
                    NewStartDate     = new DateTime(2018, 02, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 02, 27, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Vancouver Canucks").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                },
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Winnipeg",
                    NewStartDate     = new DateTime(2018, 03, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 03, 30, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Winnipeg Jets").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                }
            };

            foreach (NewProjectExtensionBase p in projects)
            {
                _context.NewProjectExtensionBase.Add(p);
            }
            _context.SaveChanges();

            if (_context.NewChangeRequestExtensionBase.Any())
            {
                return;
            }
            var workBreakdownItems = new NewChangeRequestExtensionBase[]
            {
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Calgary's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Calgary").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Calgary's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Calgary").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Vancouver's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Vancouver").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Vancouver's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Vancouver").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Winnipeg's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Winnipeg").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Winnipeg's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Winnipeg").NewProjectId
                },
            };

            foreach (NewChangeRequestExtensionBase w in workBreakdownItems)
            {
                _context.NewChangeRequestExtensionBase.Add(w);
            }
            _context.SaveChanges();

            if (_context.Users.Any())
            {
                return;
            }
            var users = new User[]
            {
                new User {
                    UserId    = Guid.NewGuid(),
                    Email     = "*****@*****.**",
                    Password  = "******",
                    FirstName = "Bob",
                    LastName  = "Jones"
                },
                new User {
                    UserId    = Guid.NewGuid(),
                    Email     = "*****@*****.**",
                    Password  = "******",
                    FirstName = "Sally",
                    LastName  = "Smith"
                }
            };

            foreach (User u in users)
            {
                _context.Users.Add(u);
            }
            _context.SaveChanges();


            if (_context.NewTimesheetEntryExtensionBase.Any())
            {
                return;
            }
            var timeslips = new NewTimesheetEntryExtensionBase[]
            {
                new NewTimesheetEntryExtensionBase
                {
                    NewTimesheetEntryId = Guid.NewGuid(),
                    NewStartTask        = DateTime.ParseExact("2018-04-20 08:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewEndTask          = DateTime.ParseExact("2018-04-20 11:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewRemarks          = "Test Remark",
                    NewChangeRequestId  = workBreakdownItems.Single(w => w.NewName == "Calgary's Finance").NewChangeRequestId,
                    OwningUser          = users.Single(u => u.Email == "*****@*****.**").UserId
                },
                new NewTimesheetEntryExtensionBase
                {
                    NewTimesheetEntryId = Guid.NewGuid(),
                    NewStartTask        = DateTime.ParseExact("2018-04-20 13:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewEndTask          = DateTime.ParseExact("2018-04-20 16:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewRemarks          = "Test Remark two",
                    NewChangeRequestId  = workBreakdownItems.Single(w => w.NewName == "Vancouver's Finance").NewChangeRequestId,
                    OwningUser          = users.Single(u => u.Email == "*****@*****.**").UserId
                },
            };

            foreach (NewTimesheetEntryExtensionBase t in timeslips)
            {
                _context.NewTimesheetEntryExtensionBase.Add(t);
            }
            _context.SaveChanges();

            if (_context.CustomDays.Any())
            {
                return;
            }
            var customMonday = new CustomDay
            {
                CustomDayId = "aosidjf",
                Name        = "My Monday",
                Description = "This is my typical monday",
                UserId      = _context.Users.FirstOrDefault().UserId
            };

            _context.CustomDays.Add(customMonday);
            _context.SaveChanges();

            if (_context.Timeslip_Templates.Any())
            {
                return;
            }
            var timeslipTemplates = new CustomDay_WBI[]
            {
                new CustomDay_WBI
                {
                    TimeslipTemplateId = "testId1",
                    NewChangeRequestId = workBreakdownItems.Single(w => w.NewName == "Calgary's Finance").NewChangeRequestId,
                    CustomDayId        = customMonday.CustomDayId,
                    StartTime          = DateTime.ParseExact("08:00", "HH:mm", CultureInfo.InvariantCulture),
                    EndTime            = DateTime.ParseExact("11:00", "HH:mm", CultureInfo.InvariantCulture),
                    Remarks            = "This is a test remark on morning timeslip template"
                },
                new CustomDay_WBI
                {
                    TimeslipTemplateId = "testId2",
                    NewChangeRequestId = workBreakdownItems.Single(w => w.NewName == "Vancouver's Finance").NewChangeRequestId,
                    CustomDayId        = customMonday.CustomDayId,
                    StartTime          = DateTime.ParseExact("13:00", "HH:mm", CultureInfo.InvariantCulture),
                    EndTime            = DateTime.ParseExact("16:00", "HH:mm", CultureInfo.InvariantCulture),
                    Remarks            = "This is a test remark on afternoon timeslip template"
                },
            };

            foreach (CustomDay_WBI c in timeslipTemplates)
            {
                _context.Timeslip_Templates.Add(c);
            }
            _context.SaveChanges();
        }
Beispiel #26
0
 public async Task AddCustomDay(CustomDay customDay)
 {
     _context.Add(customDay);
     await _context.SaveChangesAsync();
 }
Beispiel #27
0
        public static CustomMonth CreateMonth(DateTime d)
        {
            const int maxcustomDays = 42;

            CustomMonth cm = new CustomMonth();

            cm.Year  = d.Year;
            cm.Month = d.Month;

            int allCreatedDays = 0;

            int dayInMonth;
            int month;
            int year;


            // Get Max day from the current month
            int maxDays = DicoMonthAndMaxDay.MonthMaxDay.Where(x => x.Key == d.Month).FirstOrDefault().Value;

            // Set maxDay to 29 if leap year and month is February
            if (DateTime.IsLeapYear(d.Year) && d.Month == 2)
            {
                maxDays = 29;
            }
            // Maximum number of days in the month before the month from datetime parameter.
            int maxDaysLastMonth;

            //Condition for january only to prevent nullreferenceExcepetion
            if (d.Month == 1)
            {
                maxDaysLastMonth = DicoMonthAndMaxDay.MonthMaxDay.Where(x => x.Key == d.Month).FirstOrDefault().Value;
            }
            //see maxdays above
            else
            {
                maxDaysLastMonth = DicoMonthAndMaxDay.MonthMaxDay.Where(x => x.Key == d.Month - 1).FirstOrDefault().Value;

                //Set maxDaysLastMonth to 29 if leap year and last month is February
                if (DateTime.IsLeapYear(d.Year) && d.Month == 3)
                {
                    maxDaysLastMonth = 29;
                }
            }

            //cast to get the number from the enum DayOfweek see DayOfWeekSearch for more infos
            int dow = (int)DayOfWeekSearch(d);

            // if dow is sunday set it to 7 not 0 to prevent skipping the next loop
            if (dow == 0)
            {
                dow = 7;
            }
            // set dayofweek in the customday
            int count = 0;


            //Fill the first week of the customMonth with the last days from the last month(e.g. mon26, tue27, wed28...)
            //(Exemple March 2018)
            //Loop 1
            for (int i = dow; i > 1; i--)
            {
                // +2 because we want the last itteration assign maxDaysLastMonth to cd.DayInMonth
                dayInMonth = maxDaysLastMonth - i + 2;
                // add cd.month to get the month in the view (ComboBox event Date)
                month = d.Month - 1;

                year = d.Year;

                if (month == 0)
                {
                    month = 12;
                    year  = d.Year - 1;
                }

                CustomDay cd = new CustomDay(dayInMonth, month, year);

                cd.DayInWeek = count + 1;

                // add customday in the right column
                cm.Days.Add(cd);

                count++;

                allCreatedDays++;
            }

            //Represents the day of the real month (similar to "Day" in the DateTime class)
            int currentDay = 1;

            //Fill the customMonth starting where the "Loop 1" ended until the end of the real month (e.g. thu1, fri2... => fri30, sat31)
            //Loop 2
            for (int i = dow; i <= (maxDays + dow) - 1; i++)
            {
                int resultDow = i % 7;

                if (resultDow == 0)
                {
                    resultDow = 7;
                }

                month = d.Month;

                year = d.Year;

                dayInMonth = currentDay;

                CustomDay cd = new CustomDay(dayInMonth, month, year);

                cd.DayInWeek = resultDow;

                cm.Days.Add(cd);

                currentDay++;

                allCreatedDays++;
            }

            //Reset count to assign dayInWeek to all remaining customsDays
            count = 1;

            //Fill the rest of the custom month (until 42 customDays created)
            //Loop 3
            for (int i = allCreatedDays; i < maxcustomDays; i++)
            {
                int resultDow = allCreatedDays + 1 % 7;

                if (resultDow == 0)
                {
                    resultDow = 7;
                }

                year = d.Year;

                month = d.Month + 1;
                if (month == 13)
                {
                    month = 1;
                    year  = d.Year + 1;
                }

                dayInMonth = count;

                CustomDay cd = new CustomDay(dayInMonth, month, year);

                cd.DayInWeek = resultDow;

                cm.Days.Add(cd);

                count++;

                currentDay++;

                allCreatedDays++;
            }

            return(cm);
        }
Beispiel #28
0
        public DummyDBContext()
        {
            #region init WeekendDays
            int weekendDayId = 1;
            GoingOutWithGirlfriendOn24112019 = new WeekendDay(new DateTime(2019, 11, 24), "afspreken met liefje")
            {
                WeekendDayId = weekendDayId++
            };
            PicknickingWithParentsOn23112019 = new WeekendDay(new DateTime(2019, 11, 23), "gaan picknicken met ouders")
            {
                WeekendDayId = weekendDayId++
            };
            GamingWithBestFriendOn24112019 = new WeekendDay(new DateTime(2019, 11, 24), "gamen met beste vriend")
            {
                WeekendDayId = weekendDayId++
            };
            #endregion

            #region init Users
            int userId = 1;
            U1 = new User(UserType.BEGELEIDER, "Tybo", "Vanderstraeten", "*****@*****.**", "string.jpeg", null, null)
            {
                UserId = userId++
            };
            U2 = new User(UserType.CLIENT, "Rob", "De Putter", "*****@*****.**", "string.jpeg", 2, null)
            {
                UserId = userId++
            };
            U3 = new User(UserType.STAGIAIR, "Tim", "Geldof", "*****@*****.**", "string.jpeg", null, null)
            {
                UserId = userId++
            };
            U4 = new User(UserType.CLIENT, "Alihan", "Fevziev", "*****@*****.**", "string.jpeg", 1, 3)
            {
                UserId = userId++
            };
            U4.AddWeekendDay(GoingOutWithGirlfriendOn24112019);
            GoingOutWithGirlfriendOn24112019.UserId = U4.UserId;

            Users = new[] { U1, U2, U3, U4 };
            #endregion

            #region init Activities
            int activityId = 1;

            Activity1 = new Activity(ActivityType.ATELIER, "Testatelier", "Dit is een testatelier", "test.picto")
            {
                ActivityId = activityId++
            };
            Activity2 = new Activity(ActivityType.ATELIER, "Koken", "We gaan koken", "koken.picto")
            {
                ActivityId = activityId++
            };
            Activity3 = new Activity(ActivityType.ATELIER, "Zwemmen", "Baantjes zwemmen", "zwemmen.picto")
            {
                ActivityId = activityId++
            };
            Activity4 = new Activity(ActivityType.AFWEZIG, "Afwezig", "Afwezig", "afwezig.picto")
            {
                ActivityId = activityId++
            };
            Activity5 = new Activity(ActivityType.ZIEK, "Ziek", "Ziek", "ziek.picto")
            {
                ActivityId = activityId++
            };
            Activity6 = new Activity(ActivityType.VERVOER, "Bus", "Bus", "bus.picto")
            {
                ActivityId = activityId++
            };
            Activity7 = new Activity(ActivityType.KOFFIE, "Koffie", "Koffie", "Koffie.picto")
            {
                ActivityId = activityId++
            };

            Activities = new[] { Activity1, Activity2, Activity3, Activity4, Activity5, Activity6, Activity7 };

            ActivityNew = new Activity(ActivityType.VERVOER, "Bus", "Bus", "bus.picto")
            {
                ActivityId = activityId++
            };
            #endregion

            #region init Days
            int dayId = 1;

            Day1 = new Day("eerste_week_eerste_dag", 1, 1)
            {
                DayId = dayId++
            };
            Day2 = new Day("eerste_week_tweede_dag", 1, 2)
            {
                DayId = dayId++
            };
            Day3 = new Day("eerste_week_derde_dag", 1, 3)
            {
                DayId = dayId++
            };
            Day4 = new Day("eerste_week_vierde_dag", 1, 4)
            {
                DayId = dayId++
            };
            Day5 = new Day("eerste_week_vijfde_dag", 1, 5)
            {
                DayId = dayId++
            };
            Day6 = new Day("tweede_week_eerste_dag", 2, 1)
            {
                DayId = dayId++
            };

            Attendances1 = new List <Attendance>();
            Attendances2 = new List <Attendance>();
            Attendances3 = new List <Attendance>();
            Attendances4 = new List <Attendance>();


            DayActivity1 = new DayActivity(Day1, Activity5, TimeOfDay.VOLLEDIG);

            Attendance1 = new Attendance(DayActivity1, U1);
            Attendance5 = new Attendance(DayActivity1, U2);
            Attendance6 = new Attendance(DayActivity1, U3);

            Attendances1.Add(Attendance5);
            Attendances1.Add(Attendance6);
            DayActivity1.Attendances = Attendances1;

            DayActivity2 = new DayActivity(Day1, Activity2, TimeOfDay.NAMIDDAG);

            Attendance2 = new Attendance(DayActivity2, U1);
            Attendances2.Add(Attendance2);
            DayActivity2.Attendances = Attendances2;

            DayActivity3 = new DayActivity(Day1, Activity3, TimeOfDay.OCHTEND);

            Attendance3 = new Attendance(DayActivity3, U1);
            Attendances3.Add(Attendance3);
            DayActivity3.Attendances = Attendances3;

            DayActivity4 = new DayActivity(Day1, Activity4, TimeOfDay.AVOND);

            Attendance4 = new Attendance(DayActivity4, U1);
            Attendances4.Add(Attendance4);
            DayActivity4.Attendances = Attendances4;

            DayActivities1 = new List <DayActivity>();
            DayActivities1.Add(DayActivity1);
            DayActivities1.Add(DayActivity2);
            DayActivities1.Add(DayActivity3);
            DayActivities1.Add(DayActivity4);
            Day1.DayActivities = DayActivities1;
            Day5.DayActivities = DayActivities1;

            Helper1  = new Helper(Day1, U1);
            Helper2  = new Helper(Day1, U3);
            Helpers1 = new List <Helper>();
            Helpers1.Add(Helper1);
            Helpers1.Add(Helper2);

            Day1.Helpers = Helpers1;
            Day4.Helpers = Helpers1;

            DayActivity5       = new DayActivity(Day2, Activity5, TimeOfDay.VOORMIDDAG);
            DayActivity6       = new DayActivity(Day2, Activity7, TimeOfDay.MIDDAG);
            DayActivity7       = new DayActivity(Day2, Activity1, TimeOfDay.OCHTEND);
            DayActivity8       = new DayActivity(Day2, Activity2, TimeOfDay.AVOND);
            DayActivities2     = new[] { DayActivity5, DayActivity6, DayActivity7, DayActivity8 };
            Day2.DayActivities = DayActivities2;

            Helper3      = new Helper(Day2, U1);
            Helper4      = new Helper(Day2, U3);
            Helpers2     = new[] { Helper3, Helper4 };
            Day2.Helpers = Helpers2;

            DayActivity9       = new DayActivity(Day3, Activity3, TimeOfDay.VOORMIDDAG);
            DayActivity10      = new DayActivity(Day3, Activity4, TimeOfDay.NAMIDDAG);
            DayActivity11      = new DayActivity(Day3, Activity5, TimeOfDay.OCHTEND);
            DayActivity12      = new DayActivity(Day3, Activity6, TimeOfDay.AVOND);
            DayActivities3     = new[] { DayActivity9, DayActivity10, DayActivity11, DayActivity12 };
            Day3.DayActivities = DayActivities3;

            Helper5      = new Helper(Day3, U1);
            Helper6      = new Helper(Day3, U3);
            Helpers3     = new[] { Helper5, Helper6 };
            Day3.Helpers = Helpers3;



            Days = new[] { Day1, Day2, Day3 };
            #endregion

            #region init CustomDays
            int noteId = 1;
            Note1 = new Note(NoteType.VERVOER, "Florian neemt de bus niet vandaag")
            {
                NoteId = noteId++
            };
            Note2 = new Note(NoteType.VARIA, "Vandaag zullen er geen bekertjes aanwezig zijn")
            {
                NoteId = noteId++
            };
            Note3 = new Note(NoteType.VERVOER, "Beige bus zal niet rijden")
            {
                NoteId = noteId++
            };
            Note4 = new Note(NoteType.CLIENTEN, "Deano is ziek")
            {
                NoteId = noteId++
            };

            Notes = new List <Note>();
            Notes.Add(Note1);
            Notes.Add(Note2);
            Notes.Add(Note3);

            int customDayId = 1;

            CustomDay1 = new CustomDay("eerste_week_eerste_dag", 1, 1, DateTime.Today, "Wortelsoep", "Kip zoetzuur", "chocomousse")
            {
                DayId = customDayId++
            };
            CustomDay1.DayActivities = DayActivities1;
            CustomDay1.Helpers       = Helpers1;
            CustomDay1.Notes         = Notes;


            CustomDay2 = new CustomDay("eerste_week_tweede_dag", 1, 2, DateTime.Today.AddDays(1), "Wortelsoep", "Kip zoetzuur", "chocomousse")
            {
                DayId = customDayId++
            };;
            CustomDay2.DayActivities = DayActivities2;
            CustomDay2.Helpers       = Helpers2;
            CustomDay2.Notes         = Notes;

            CustomDay3 = new CustomDay("eerste_week_derde_dag", 1, 3, DateTime.Today.AddDays(2), "Wortelsoep", "Kip zoetzuur", "chocomousse")
            {
                DayId = customDayId++
            };;
            CustomDay3.DayActivities = DayActivities3;
            CustomDay3.Helpers       = Helpers3;
            CustomDay3.Notes         = Notes;

            CustomDay4 = new CustomDay("eerste_week_vierde_dag", 1, 4, DateTime.Today.AddDays(3), "kippensoep", "steak", "appeltaart");

            CustomDays = new[] { CustomDay1, CustomDay2, CustomDay3, CustomDay4 };
            #endregion

            #region init Drivers
            int driverId = 1;
            Driver1 = new Driver("Jan")
            {
                DriverId = driverId++
            };
            Driver2 = new Driver("Karel")
            {
                DriverId = driverId++
            };;
            Driver3 = new Driver("Makker")
            {
                DriverId = driverId++
            };;
            #endregion

            #region init BusDriver
            BusDriver1 = new BusDriver(Day1, Driver1, TimeOfDay.OCHTEND, BusColor.BEIGE);
            BusDriver2 = new BusDriver(Day2, Driver2, TimeOfDay.AVOND, BusColor.GEEL);
            BusDriver3 = new BusDriver(Day3, Driver2, TimeOfDay.AVOND, BusColor.GEEL);
            BusDriver4 = new BusDriver(Day1, Driver2, TimeOfDay.AVOND, BusColor.GEEL);

            BusDriversForWeek1.Add(BusDriver1);
            BusDriversForWeek1.Add(BusDriver2);
            BusDriversForWeek1.Add(BusDriver3);
            BusDriversForWeek1.Add(BusDriver4);
            #endregion
        }