public ContractBuilder() { _id = 1; _person = null; _employer = null; _workschedule = null; }
public Contract(long id, Person person, Employer employer, Workschedule workschedule) { Id = id; Person = person; Employer = employer; Workschedule = workschedule; }
public async Task <Workschedule> GetUserWS(int userId) { var ws = await _context.Day .Where(u => u.IdWsNavigation.IdUser == userId) .ToListAsync(); var dayList = new List <Day>(); foreach (var item in ws) { dayList.Add(item); } var wsToReturn = new Workschedule() { IdUser = userId, Day = dayList }; return(wsToReturn); }
public ContractBuilder WithWorkschedule(Workschedule workschedule) { _workschedule = workschedule; return(this); }
public Contract CreateContract(long id, Person person, Employer employer, Workschedule workschedule) { return(new Contract(id, person, employer, workschedule)); }
public async Task <Workschedule> GenerateUserWS(int userId, WorkScheduleNewDTO newWS, List <Day> vacList) { var user = await _context.User .FirstOrDefaultAsync(u => u.IdUser == userId); var wsList = new List <Workschedule>(); var wsFromRepo = await GetUserWS(userId); for (int i = 0; i < newWS.NumberOfWeeks; i++) { var ws = new Workschedule(); var dayList = new List <Day>(); foreach (var day in newWS.Day) { Day newDay; var fromTime = day.FromTime.AddDays(i * 7); var toTime = day.ToTime.AddDays(i * 7); var vacDay = vacList.FirstOrDefault(d => d.FromTime.DayOfYear == fromTime.DayOfYear); var currentDay = wsFromRepo.Day.FirstOrDefault(d => d.FromTime.DayOfYear == fromTime.DayOfYear); if (vacDay != null) { newDay = vacDay; if (newDay.Type == "Zastepstwo") { newDay.FromTime = fromTime; newDay.ToTime = toTime; } if (currentDay != null) { _context.Remove(currentDay); } dayList.Add(newDay); await _context.Day.AddAsync(newDay); } else if (currentDay == null) { newDay = new Day { FromTime = fromTime, ToTime = toTime, IdWsNavigation = ws, Type = "Praca" }; dayList.Add(newDay); await _context.Day.AddAsync(newDay); } else if (currentDay.Type == "Praca") { newDay = new Day { FromTime = fromTime, ToTime = toTime, IdWsNavigation = ws, Type = "Praca" }; _context.Remove(currentDay); dayList.Add(newDay); await _context.Day.AddAsync(newDay); } } ws.IdUserNavigation = user; ws.Day = dayList; wsList.Add(ws); await _context.Workschedule.AddAsync(ws); } await _context.SaveChangesAsync(); var wsToReturn = await GetUserWS(userId); return(wsToReturn); }
public async Task <Workschedule> GenerateWS(IEnumerable <User> users, WorkScheduleNewDTO newWS) { foreach (var user in users) { var wsFromRepo = await GetUserWS(user.IdUser); var wsList = new List <Workschedule>(); var userVac = await _context.Vacation .Where(u => u.IdUserVac == user.IdUser) .Include(a => a.IdAbsenceVacNavigation) .Include(u => u.IdUserVacNavigation) .ToListAsync(); var vacList = VacationDaysToList(userVac); for (int i = 0; i < newWS.NumberOfWeeks; i++) { var ws = new Workschedule(); var dayList = new List <Day>(); foreach (var day in newWS.Day) { Day newDay; var fromTime = day.FromTime.AddDays(i * 7); var toTime = day.ToTime.AddDays(i * 7); var vacDay = vacList.FirstOrDefault(d => d.FromTime.DayOfYear == fromTime.DayOfYear); var currentDay = wsFromRepo.Day.FirstOrDefault(d => d.FromTime.DayOfYear == fromTime.DayOfYear); if (vacDay != null) { newDay = vacDay; if (newDay.Type == "Zastepstwo") { newDay.FromTime = fromTime; newDay.ToTime = toTime; } if (currentDay != null) { _context.Remove(currentDay); } dayList.Add(newDay); await _context.Day.AddAsync(newDay); } else if (currentDay == null) { newDay = new Day { FromTime = fromTime, ToTime = toTime, IdWsNavigation = ws, Type = "Praca" }; dayList.Add(newDay); await _context.Day.AddAsync(newDay); } else if (currentDay.Type == "Praca") { newDay = new Day { FromTime = fromTime, ToTime = toTime, IdWsNavigation = ws, Type = "Praca" }; _context.Remove(currentDay); dayList.Add(newDay); await _context.Day.AddAsync(newDay); } } ws.IdUserNavigation = user; ws.Day = dayList; wsList.Add(ws); await _context.Workschedule.AddAsync(ws); await _context.SaveChangesAsync(); } } return(null); }