public Request MakeARequestForLeave(EmployeeProjectDbContext db, Employee employee, Leave leave) { var request = new Request() { Employee = employee, Leave = leave, DateRequestedLeave = DateTime.Now.Date, IsAccepted = true }; if (employee.RemaingDaysOfLeave < leave.HowManyDays || leave.HowManyDays <= 0) { request.IsAccepted = false; } if (request.IsAccepted) { employee.RemaingDaysOfLeave -= leave.HowManyDays; } try { db.Leaves.Add(leave); db.Requests.Add(request); db.SaveChanges(); } catch (DataException e) { throw new DataException(e.Message); } return(request); }
public void Delete(EmployeeProjectDbContext db, Employee employee) { try { db.Entry(employee).State = EntityState.Deleted; db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.Message); } }
//ctrors //methods; //post create public Employee Create(EmployeeProjectDbContext db, Employee employee) { try { db.Employees.Add(employee); db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.Message); } return(employee); }
public void AssignShiftsToWorkDay(EmployeeProjectDbContext db, WorkDay workDay, Department department) { //an den yparxei h workDay sth vash tote thn dhmiourgw if (!db.WorkDays.Contains(workDay)) { CreateANewWorkDay(db, workDay); } foreach (var shift in workDay.Shifts) { shift.AssignEmployeesToShift(db, shift, department); } }
private void CreateANewWeeklySchedule(EmployeeProjectDbContext db, WeeklySchedule weeklySchedule) { try { if (weeklySchedule != null) { db.WeeklySchedules.Add(weeklySchedule); db.SaveChanges(); } } catch (DataException e) { throw new DataException(e.Message); } }
private void CreateANewShift(EmployeeProjectDbContext db, Shift shift) { try { if (shift != null) { db.Shifts.Add(shift); db.SaveChanges(); } } catch (DataException e) { throw new DataException(e.Message); } }
private void CreateANewWorkDay(EmployeeProjectDbContext db, WorkDay workDay) { try { if (workDay != null) { db.WorkDays.Add(workDay); db.SaveChanges(); } } catch (DataException e) { throw new DataException(e.Message); } }
public void AssignWorkDaysToWeeklySchedule(EmployeeProjectDbContext db, WeeklySchedule weeklySchedule, Department department) { }
public void AssignEmployeesToShift(EmployeeProjectDbContext db, Shift shift, Department department) { //an den yparxei h vardia sth vash tote thn dhmiourgw if (!db.Shifts.Contains(shift)) { CreateANewShift(db, shift); } //fernw olous tous ergazomenous poy douleyoun sto department var allEmployeesOfDepartment = db.Employees .Where(d => d.Department.ID == department.ID); foreach (var employee in allEmployeesOfDepartment) { //gia department me 3 vardies var listMorningIDs = new List <int>() { shift.ID, shift.ID - 1, shift.ID + 1, shift.ID + 2, shift.ID + 3, shift.ID + 4 }; var listEveningIDs = new List <int>() { shift.ID, shift.ID - 1, shift.ID + 1 }; var listNightIDs = new List <int>() { shift.ID, shift.ID - 1, shift.ID - 2, shift.ID + 1 }; switch (shift.DayShift) { case Shifts.Morning: if (!employee.Posts.Select(post => post.Shift.ID) .Intersect(listMorningIDs) .Any()) { var post = new Post() { Shift = shift, Employee = employee }; try { employee.Posts.Add(post); db.SaveChanges(); } catch (DataException e) { throw new DataException(e.Message); } } break; case Shifts.Evening: if (!employee.Posts.Select(post => post.Shift.ID) .Intersect(listEveningIDs) .Any()) { var post = new Post() { Shift = shift, Employee = employee }; try { employee.Posts.Add(post); db.SaveChanges(); } catch (DataException e) { throw new DataException(e.Message); } } break; case Shifts.Night: if (!employee.Posts.Select(post => post.Shift.ID) .Intersect(listNightIDs) .Any()) { var post = new Post() { Shift = shift, Employee = employee }; try { employee.Posts.Add(post); db.SaveChanges(); } catch (DataException e) { throw new DataException(e.Message); } } break; default: break; } } }