/// <summary> /// This method is used to edit a given vacation's information /// </summary> /// <param name="model"></param> /// <returns></returns> public int EditVacation(EditVacationViewModel model) { //Taking the correct vacation based on the given model id Vacation takenVacation = context.Vacations.FirstOrDefault(v => v.Id == model.Id); //Validating the new vacation information if (model.Type != "Unpaid" && model.Type != "Paid" && model.Type != "SickLeave") { return(-1); } else if (DateTime.Compare(model.StartDate, model.EndDate) >= 0) { return(-2); } //Editing the vacation information takenVacation.StartDate = model.StartDate; takenVacation.EndDate = model.EndDate; takenVacation.IsHalfDayVacation = model.IsHalfDayVacation; takenVacation.Type = model.Type; //Saving the changes in the databse context.Vacations.Update(takenVacation); context.SaveChanges(); return(takenVacation.Id); }
public IActionResult EditVacation(int id) { Vacation vacation = context.Vacations.FirstOrDefault(v => v.Id == id); if (vacation == null) { return(NotFound()); } EditVacationViewModel editVacationViewModel = new EditVacationViewModel { Id = vacation.Id, StartDate = vacation.StartDate, EndDate = vacation.EndDate, IsHalfDayVacation = vacation.IsHalfDayVacation, Type = vacation.Type }; return(this.View(editVacationViewModel)); }
public int EditVacation(EditVacationViewModel model) { Vacation takenVacation = context.Vacations.FirstOrDefault(v => v.Id == model.Id); if (model.Type != "Unpaid" && model.Type != "Paid" && model.Type != "SickLeave") { return(-1); } else if (DateTime.Compare(model.StartDate, model.EndDate) >= 0) { return(-2); } takenVacation.StartDate = model.StartDate; takenVacation.EndDate = model.EndDate; takenVacation.IsHalfDayVacation = model.IsHalfDayVacation; takenVacation.Type = model.Type; context.Vacations.Update(takenVacation); context.SaveChanges(); return(takenVacation.Id); }
public IActionResult EditVacation(EditVacationViewModel model) { int result = VacationService.EditVacation(model); if (result > 0) { } else { if (result == -1) { ViewBag.Message = $"Type must be 'SickLeave', 'Paid' or 'Unpaid'!"; return(View()); } else if (result == -2) { ViewBag.Message = $"Start date must be earlier than end date!"; return(View()); } } CheckLoggedUser(); return(RedirectToAction("ViewCreatedVacations", "Vacations")); }