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)); }
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" })); }