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)); } } } }
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)); } } } }
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); }
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)); } }
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); }
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); }
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); }
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)); } } } }
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); }
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(); }
public async Task AddCustomDay(CustomDay customDay) { _context.Add(customDay); await _context.SaveChangesAsync(); }
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); }
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 }