public ActionResult Create(VacationRequestVM requestVM, int id) { try { requestVM.Id = 0; requestVM.EmployeeId = id; requestVM.EmployeeName = _db.Employees.Find(requestVM.EmployeeId).fullname; requestVM.VacationTypeName = _db.VacationTypes.Find(requestVM.VacationTypeId).Name; requestVM.DateRequested = DateTime.Now; requestVM.Status = false; requestVM.Cancelled = false; var vacationtypes = _db.VacationTypes.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); requestVM.vacationtypes = vacationtypes; VacationRequest request = Map(requestVM); _db.VacationRequests.Add(request); _db.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { ModelState.AddModelError("", "Something went wrong..."); return(View(requestVM)); } }
// GET: VacationRequestController/Details/5 public ActionResult Review(int id) { VacationRequestVM request = new VacationRequestVM(); VacationRequest vacationrequest = _db.VacationRequests.Include(q => q.Employee).Include(q => q.VacationType).FirstOrDefault(q => q.Id == id); request = ReverseMap(vacationrequest); return(View(request)); }
/*public ActionResult Delete(VacationRequestVM model) * { * * VacationRequest request = _db.VacationRequests.Find(id); * _db.VacationRequests.Remove(request); * _db.SaveChanges(); * return RedirectToAction(nameof(Index)); * }*/ public List <VacationRequestVM> Maplist(List <VacationRequest> list) { List <VacationRequestVM> listVM = new List <VacationRequestVM>(); for (int i = 0; i < list.Count(); i++) { VacationRequestVM obj = ReverseMap(list[i]); listVM.Add(obj); } return(listVM); }
// GET: VacationRequestController/Create public ActionResult Create(int id) { VacationRequestVM requestVM = new VacationRequestVM(); var vacationtypes = _db.VacationTypes.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); requestVM.vacationtypes = vacationtypes; return(View(requestVM)); }
// GET: VacationRequestController/Edit/5 public ActionResult Edit(int id) { VacationRequest request = _db.VacationRequests.Include(q => q.Employee).Include(q => q.VacationType).FirstOrDefault(q => q.Id == id); VacationRequestVM requestVM = ReverseMap(request); var vacationtypes = _db.VacationTypes.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); requestVM.vacationtypes = vacationtypes; return(View(requestVM)); }
public VacationRequestVM ReverseMap(VacationRequest request) { VacationRequestVM obj = new VacationRequestVM(); obj.Id = request.Id; obj.EmployeeId = request.EmployeeId; obj.EmployeeName = _db.Employees.Find(request.EmployeeId).fullname; obj.VacationTypeId = request.VacationTypeId; obj.VacationTypeName = _db.VacationTypes.Find(request.VacationTypeId).Name; obj.StartDate = request.StartDate; obj.EndDate = request.EndDate; obj.DateRequested = request.DateRequested; obj.Status = request.Status; return(obj); }
public VacationRequest Map(VacationRequestVM requestVM) { VacationRequest obj = new VacationRequest(); obj.Id = requestVM.Id; obj.VacationAllocationId = requestVM.Id; obj.EmployeeId = requestVM.EmployeeId; obj.Employee = _db.Employees.Find(requestVM.EmployeeId); obj.StartDate = requestVM.StartDate; obj.EndDate = requestVM.EndDate; obj.VacationTypeId = requestVM.VacationTypeId; obj.VacationType = _db.VacationTypes.Find(requestVM.VacationTypeId); obj.Cancelled = requestVM.Cancelled; obj.Status = requestVM.Status; return(obj); }
public ActionResult Edit(VacationRequestVM requestVM) { try { var vacationtypes = _db.VacationTypes.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); requestVM.vacationtypes = vacationtypes; VacationRequest request = Map(requestVM); _db.VacationRequests.Update(request); _db.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { ModelState.AddModelError("", "Something went wrong..."); return(View(requestVM)); } }
public async Task <ActionResult> Create(CreateVacationRequestVM model) { var startDate = Convert.ToDateTime(model.StartDate); var endDate = Convert.ToDateTime(model.EndDate); var vacationtypes = await _typerepo.FindAll(); var vacationtypeItems = vacationtypes.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); model.VacationTypes = vacationtypeItems; try { if (!ModelState.IsValid) { return(View(model)); } if (DateTime.Compare(startDate, endDate) > 1) { ModelState.AddModelError("", "Start Date cannot be further in the fiuture than the End Date..."); return(View(model)); } var employee = await _userManager.GetUserAsync(User); var allocation = await _allocationrepo.GetVacationAllocationsByEmployeeAndType(employee.Id, model.VacationTypeId); int daysRequested = (int)(endDate - startDate).TotalDays; if (daysRequested > allocation.NumberOfDays) { ModelState.AddModelError("", "You don't have sufficient days for this request..."); return(View(model)); } var VacationRequestModel = new VacationRequestVM { RequestingEmployeeId = employee.Id, StartDate = startDate, EndDate = endDate, Approved = null, Cancelled = false, DateRequested = DateTime.Now, DateActioned = DateTime.Now, VacationTypeId = model.VacationTypeId }; var vacationrequest = _mapper.Map <VacationRequest>(VacationRequestModel); var isSuccess = await _requestrepo.Create(vacationrequest); if (!isSuccess) { ModelState.AddModelError("", "Something went wrong when submitting your record..."); return(View(model)); } return(RedirectToAction(nameof(MyLeave))); } catch (Exception ex) { ModelState.AddModelError("", "Something went wrong..."); return(View(model)); } }