示例#1
0
        /// <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);
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }
示例#4
0
        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"));
        }