public EmployeeVacationRequestsViewModel GetEmployeeVacationRequests(Guid idEmployee) { EmployeeVacationRequestsViewModel employeeVacationRequestsViewModel = new EmployeeVacationRequestsViewModel(); Employee dbemployee = dbContext.Employees.FirstOrDefault(x => x.IDEmployee == idEmployee); if (dbemployee != null) { employeeVacationRequestsViewModel.FullName = dbemployee.FirstName + " " + dbemployee.LastName; employeeVacationRequestsViewModel.Position = (PositionEnum)dbemployee.Position; employeeVacationRequestsViewModel.TeamName = dbemployee.Team.Name; employeeVacationRequestsViewModel.BusinessUnitName = dbemployee.BusinessUnit.Name; employeeVacationRequestsViewModel.HiringDate = dbemployee.HiringDate; employeeVacationRequestsViewModel.TotalDaysOff = dbemployee.TotalDaysOff; employeeVacationRequestsViewModel.DaysOffLeft = dbemployee.DaysOffLeft; IQueryable <VacationRequest> dbEmployeeVacationRequests = dbContext.VacationRequests.Where(x => x.IDEmployee == idEmployee); foreach (VacationRequest dbVacation in dbEmployeeVacationRequests) { VacationRequestModel vacationRequestModel = new VacationRequestModel(); vacationRequestModel.Reason = dbVacation.Reason; vacationRequestModel.StartDate = dbVacation.StartDate; vacationRequestModel.EndDate = dbVacation.EndDate; vacationRequestModel.DaysRequested = dbVacation.DaysRequested; vacationRequestModel.FirstApproval = (ApprovalStatusEnum)dbVacation.FirstApproval; vacationRequestModel.SecondApproval = (ApprovalStatusEnum)dbVacation.SecondApproval; vacationRequestModel.Status = (ApprovalStatusEnum)dbVacation.Status; employeeVacationRequestsViewModel.EmployeeVacations.Add(vacationRequestModel); } } return(employeeVacationRequestsViewModel); }
public ActionResult Create(FormCollection collection) { EmployeeModel current = employeeRepository.GetEmployeeByUserId(User.Identity.GetUserId()); ViewData["idEmployee"] = current.IDEmployee; try { VacationRequestModel vacationRequestModel = new VacationRequestModel(); if (current.Position == PositionEnum.BusinessUnitManager) { vacationRequestModel.FirstApproval = ApprovalStatusEnum.Approved; } else { vacationRequestModel.FirstApproval = ApprovalStatusEnum.Pending; } UpdateModel(vacationRequestModel); if (vacationRequestModel.DaysRequested > current.DaysOffLeft || vacationRequestModel.DaysRequested > current.TotalDaysOff) { return(View("RequestNotValid")); } vacationRequestRepository.InsertVacationRequest(vacationRequestModel); return(RedirectToAction("MyProfile", "Employee")); } catch { return(View("CreateVacationRequest")); } }
/// <summary> /// Update VacationRequest /// </summary> /// <param name="vacationRequest">VacationRequestModel</param> /// <returns>true on success</returns> public bool Update(VacationRequestModel vacationRequest) { if (vacationRequest == null) { throw new ArgumentNullException("vacationRequest"); } using (var dataContext = new Database(DbName)) { dataContext.Update(vacationRequest); return(true); } }
/// <summary> /// Add VacationRequest /// </summary> /// <param name="vacationRequest">Object VacationRequestModel</param> /// <returns>Return the employee ID inserted, an error text if something wrong happens</returns> public string Add(VacationRequestModel vacationRequest) { if (vacationRequest == null) { throw new ArgumentNullException("vacationRequest"); } using (var dataContext = new Database(DbName)) { dataContext.Insert(vacationRequest); return(vacationRequest.Id.ToString()); } }
public ActionResult Edit(Guid id, FormCollection collection) { try { VacationRequestModel vacationRequestModel = new VacationRequestModel(); UpdateModel(vacationRequestModel); if (vacationRequestModel.FirstApproval == ApprovalStatusEnum.Approved && vacationRequestModel.SecondApproval == ApprovalStatusEnum.Approved) { vacationRequestModel.Status = ApprovalStatusEnum.Approved; vacationRequestRepository.UpdateVacationRequest(vacationRequestModel); } if (vacationRequestModel.FirstApproval == ApprovalStatusEnum.Rejected && vacationRequestModel.SecondApproval == ApprovalStatusEnum.Rejected) { vacationRequestModel.Status = ApprovalStatusEnum.Rejected; vacationRequestRepository.UpdateVacationRequest(vacationRequestModel); } if (vacationRequestModel.FirstApproval == ApprovalStatusEnum.Rejected || vacationRequestModel.SecondApproval == ApprovalStatusEnum.Rejected) { vacationRequestModel.Status = ApprovalStatusEnum.Rejected; vacationRequestRepository.UpdateVacationRequest(vacationRequestModel); } if (vacationRequestModel.FirstApproval == ApprovalStatusEnum.Pending || vacationRequestModel.SecondApproval == ApprovalStatusEnum.Pending) { vacationRequestModel.Status = ApprovalStatusEnum.Pending; vacationRequestRepository.UpdateVacationRequest(vacationRequestModel); } List <VacationRequestModel> approvedVacations = vacationRequestRepository.GetAllApprovedVacationRequestsByEmployeeId(vacationRequestModel.IDEmployee); int totalDaysApproved = 0; foreach (VacationRequestModel vacation in approvedVacations) { totalDaysApproved = totalDaysApproved + vacation.DaysRequested; } EmployeeModel employee = employeeRepository.GetEmployeeByID(vacationRequestModel.IDEmployee); employee.DaysOffLeft = employee.TotalDaysOff - totalDaysApproved; UpdateModel(employee); employeeRepository.UpdateEmployee(employee); return(RedirectToAction("Index", "Home")); } catch { return(View("EditVacationRequest")); } }
public void UpdateVacationRequest(VacationRequestModel vacationRequestModel) { VacationRequest dbExistingVacationRequest = dbContext.VacationRequests.FirstOrDefault(x => x.IDVacationRequest == vacationRequestModel.IDVacationRequest); if (dbExistingVacationRequest != null) { dbExistingVacationRequest.IDVacationRequest = vacationRequestModel.IDVacationRequest; dbExistingVacationRequest.IDEmployee = vacationRequestModel.IDEmployee; dbExistingVacationRequest.Reason = vacationRequestModel.Reason; dbExistingVacationRequest.StartDate = vacationRequestModel.StartDate; dbExistingVacationRequest.EndDate = vacationRequestModel.EndDate; dbExistingVacationRequest.DaysRequested = vacationRequestModel.DaysRequested; dbExistingVacationRequest.FirstApproval = (int)vacationRequestModel.FirstApproval; dbExistingVacationRequest.SecondApproval = (int)vacationRequestModel.SecondApproval; dbExistingVacationRequest.Status = (int)vacationRequestModel.Status; dbContext.SubmitChanges(); } }
/// <summary> /// Delete VacationRequest /// </summary> /// <param name="id">VacationRequestModel Id</param> /// <returns>true on success</returns> public bool Delete(int id) { if (id < 1) { throw new ArgumentException("id"); } var model = new VacationRequestModel() { Id = id }; using (var dataContext = new Database(DbName)) { dataContext.Delete(model); return(true); } }
private VacationRequest MapModelToDbObject(VacationRequestModel vacationRequestModel) { VacationRequest dbVacationRequest = new VacationRequest(); if (vacationRequestModel != null) { dbVacationRequest.IDVacationRequest = vacationRequestModel.IDVacationRequest; dbVacationRequest.IDEmployee = vacationRequestModel.IDEmployee; dbVacationRequest.Reason = vacationRequestModel.Reason; dbVacationRequest.StartDate = vacationRequestModel.StartDate; dbVacationRequest.EndDate = vacationRequestModel.EndDate; dbVacationRequest.DaysRequested = vacationRequestModel.DaysRequested; dbVacationRequest.FirstApproval = (int)vacationRequestModel.FirstApproval; dbVacationRequest.SecondApproval = (int)vacationRequestModel.SecondApproval; dbVacationRequest.Status = (int)vacationRequestModel.Status; return(dbVacationRequest); } return(null); }
private VacationRequestModel MapDbObjectToModel(VacationRequest dbVacationRequest) { VacationRequestModel vacationRequestModel = new VacationRequestModel(); if (dbVacationRequest != null) { vacationRequestModel.IDVacationRequest = dbVacationRequest.IDVacationRequest; vacationRequestModel.IDEmployee = dbVacationRequest.IDEmployee; vacationRequestModel.EmployeeFullName = dbVacationRequest.Employee.FirstName + " " + dbVacationRequest.Employee.LastName; vacationRequestModel.Reason = dbVacationRequest.Reason; vacationRequestModel.StartDate = dbVacationRequest.StartDate; vacationRequestModel.EndDate = dbVacationRequest.EndDate; vacationRequestModel.DaysRequested = dbVacationRequest.DaysRequested; vacationRequestModel.FirstApproval = (ApprovalStatusEnum)dbVacationRequest.FirstApproval; vacationRequestModel.SecondApproval = (ApprovalStatusEnum)dbVacationRequest.SecondApproval; vacationRequestModel.Status = (ApprovalStatusEnum)dbVacationRequest.Status; return(vacationRequestModel); } return(null); }
public void InsertVacationRequest(VacationRequestModel vacationRequestModel) { vacationRequestModel.IDVacationRequest = Guid.NewGuid(); vacationRequestModel.SecondApproval = ApprovalStatusEnum.Pending; vacationRequestModel.Status = ApprovalStatusEnum.Pending; VacationRequest dbVacationRequest = new VacationRequest(); if (vacationRequestModel != null) { dbVacationRequest.IDVacationRequest = vacationRequestModel.IDVacationRequest; dbVacationRequest.IDEmployee = vacationRequestModel.IDEmployee; dbVacationRequest.Reason = vacationRequestModel.Reason; dbVacationRequest.StartDate = vacationRequestModel.StartDate; dbVacationRequest.EndDate = vacationRequestModel.EndDate; dbVacationRequest.DaysRequested = vacationRequestModel.DaysRequested; dbVacationRequest.FirstApproval = (int)vacationRequestModel.FirstApproval; dbVacationRequest.SecondApproval = (int)vacationRequestModel.SecondApproval; dbVacationRequest.Status = (int)vacationRequestModel.Status; } dbContext.VacationRequests.InsertOnSubmit(dbVacationRequest); dbContext.SubmitChanges(); }
// GET: VacationRequest/Delete/5 public ActionResult Delete(Guid id) { VacationRequestModel vacationRequestModel = vacationRequestRepository.GetVacationRequestById(id); return(View("DeleteVacationRequest", vacationRequestModel)); }