Ejemplo n.º 1
0
 public IActionResult EditVocationDay(VocationDayViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var vocationDay = _dbContext.VocationDays.SingleOrDefault(x => x.Id == model.Id);
             _dbContext.Entry(vocationDay).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
             vocationDay.Date        = DateTime.Parse(model.Date);
             vocationDay.Description = model.Description;
             vocationDay.UpdatedAt   = DateTime.Now;
             _dbContext.SaveChanges();
             TempData.Put("message", new MVCResultModel {
                 status = MVCResultStatus.success, message = Messages.ItemUpdatedSuccessFully
             });
             return(RedirectToAction("VocationDays", "Schedule", new { area = "Admin" }));
         }
     }
     catch (FormatException)
     {
         TempData.Put("message", new MVCResultModel {
             status = MVCResultStatus.danger, message = Messages.PleaseEnterValidDate
         });
     }
     catch (Exception)
     {
         TempData.Put("message", new MVCResultModel {
             status = MVCResultStatus.danger, message = Messages.AnErrorOccuredWhileUpdateItem
         });
     }
     return(View(model));
 }
Ejemplo n.º 2
0
        public IActionResult AddVocationDay(VocationDayViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var appointments = _dbContext.Appointments.ToList()
                                       .Count(x => x.Status == AppointmentStatus.Pending &&
                                              x.Start_DateTime >= DateTime.Now &&
                                              x.Start_DateTime.ToShortDateString() == model.Date);
                    if (appointments >= 1)
                    {
                        throw new HavePendingAppointmentsException();
                    }

                    var date = DateTime.Parse(model.Date);

                    _dbContext.VocationDays.Add(new VocationDay
                    {
                        Date        = date,
                        DayOfWeek   = date.DayOfWeek.ToString(),
                        Description = model.Description,
                        CreatedAt   = DateTime.Now,
                    });

                    _dbContext.SaveChanges();
                    TempData.Put("message", new MVCResultModel {
                        status = MVCResultStatus.success, message = Messages.ItemAddedSuccessFully
                    });
                    return(RedirectToAction("VocationDays", "Schedule", new { area = "Admin" }));
                }
            }
            catch (HavePendingAppointmentsException)
            {
                TempData.Put("message", new MVCResultModel {
                    status = MVCResultStatus.danger, message = Messages.PendingTurnsExistInDate
                });
            }
            catch (FormatException)
            {
                TempData.Put("message", new MVCResultModel {
                    status = MVCResultStatus.danger, message = Messages.PleaseEnterValidDate
                });
            }
            catch
            {
                TempData.Put("message", new MVCResultModel {
                    status = MVCResultStatus.danger, message = Messages.AnErrorOccuredWhileAddingItem
                });
            }

            return(RedirectToAction("VocationDays", "Schedule", new { area = "Admin" }));
        }