public ActionResult Index(SearchHolidayViewModel searchHoliday) { HolidayBO holidayBO = new HolidayBO(); holidayBO.searchHoliday = searchHoliday; _CalenderDetails(holidayBO); _ViewBagListDetails(); return(View(holidayBO)); }
/// <summary> /// Get Holiday List /// </summary> /// <param name="searchHoliday"></param> /// <returns></returns> public List <CreateHolidayViewModel> GetHolidayList(SearchHolidayViewModel searchHoliday) { var holidayList = (from rhd in _db.Resource_Holiday select new CreateHolidayViewModel { ResourceID = (int)rhd.ResourceID, HolidayID = rhd.HolidayID, BookingHrs = (float)rhd.BookingHrs, Resource = rhd.Resource_Employee.FirstName, HolidayDate = (DateTime)rhd.HolidayDate, HolidayTypeID = (int)rhd.HolidayTypeID, HoliColor = rhd.Resource_Holiday_Type.IconCode, HolidayType = rhd.Resource_Holiday_Type.HolidayTypeName, // StatusChangedByID=rhd.Resource_HolidayStatus.OrderByDescending(x=>x.StatusDateTime).Select(x=>x.StatusChangedBy).FirstOrDefault(), StatusChangedBy = rhd.Resource_HolidayStatus.OrderByDescending(x => x.StatusDateTime).Select(x => x.StatusChangedBy).FirstOrDefault(), Comment = rhd.Comments, StatusID = rhd.Resource_HolidayStatus.OrderByDescending(x => x.StatusDateTime).Select(x => x.HolidayStatusTypeID).FirstOrDefault(), Status = _db.Resource_HolidayStatusType.Where(y => y.HolidayStatusTypeID == rhd.Resource_HolidayStatus.OrderByDescending(x => x.StatusDateTime).Select(x => x.HolidayStatusTypeID).FirstOrDefault()).Select(y => y.HolidayStatusType).FirstOrDefault(), }); if (searchHoliday.SearchResourceID == 0) { searchHoliday.SearchResourceID = null; } if (searchHoliday.SearchResourceID != null && searchHoliday.Month != null && searchHoliday.Year != null) { holidayList = holidayList.Where(x => x.ResourceID == searchHoliday.SearchResourceID && x.HolidayDate.Month == searchHoliday.Month && x.HolidayDate.Year == searchHoliday.Year); } else if (searchHoliday.SearchResourceID == null && searchHoliday.Month != null && searchHoliday.Year != null) { holidayList = holidayList.Where(x => x.HolidayDate.Month == searchHoliday.Month && x.HolidayDate.Year == searchHoliday.Year); } else if (searchHoliday.SearchResourceID != null && searchHoliday.Month == null && searchHoliday.Year == null) { holidayList = holidayList.Where(x => x.ResourceID == searchHoliday.SearchResourceID); } else if (searchHoliday.SearchResourceID == null && searchHoliday.Month != null && searchHoliday.Year == null) { holidayList = holidayList.Where(x => x.HolidayDate.Month == searchHoliday.Month); } else if (searchHoliday.SearchResourceID == null && searchHoliday.Month == null && searchHoliday.Year != null) { holidayList = holidayList.Where(x => x.HolidayDate.Year == searchHoliday.Year); } else if (searchHoliday.SearchResourceID != null && searchHoliday.Month == null && searchHoliday.Year != null) { holidayList = holidayList.Where(x => x.ResourceID == searchHoliday.SearchResourceID && x.HolidayDate.Year == searchHoliday.Year); } else if (searchHoliday.SearchResourceID != null && searchHoliday.Month != null && searchHoliday.Year == null) { holidayList = holidayList.Where(x => x.HolidayDate.Month == searchHoliday.Month && x.ResourceID == searchHoliday.SearchResourceID); } return(holidayList.ToList()); }
public ActionResult SearchHoliday(SearchHolidayViewModel searchHoliday) { HolidayBO holidayBO = new HolidayBO(); holidayBO.searchHoliday = searchHoliday; _CalenderDetails(holidayBO); if (searchHoliday.Month == null) { searchHoliday.Month = DateTime.Now.Month; } if (searchHoliday.Year == null) { searchHoliday.Year = DateTime.Now.Year; } return(PartialView("_HolidayDetail", holidayBO)); }
/// <summary> /// Remove Holiday /// </summary> /// <param name="searchHoliday"></param> /// <returns></returns> public bool RemoveHoliday(SearchHolidayViewModel searchHoliday, out string msg) { msg = ""; try { if (searchHoliday.HolidayID != 0) { var resourceHoli = _db.Resource_HolidayStatus.Where(x => x.HolidayID == searchHoliday.HolidayID).ToList(); if (resourceHoli.Count != 0) { resourceHoli.ForEach(x => { _db.Resource_HolidayStatus.Remove(x); }); } var resourceStatus = _db.Resource_Holiday.Where(x => x.HolidayID == searchHoliday.HolidayID).Select(x => x).FirstOrDefault(); if (resourceStatus != null) { _db.Resource_Holiday.Remove(resourceStatus); } if (resourceHoli.Count == 0 && resourceStatus == null) { msg = "Already Removed"; return(false); } } _db.SaveChanges(); msg = "Successfully Removed"; return(true); } catch (Exception ex) { msg = ex.Message; return(false); } }
public ActionResult CreateHoliday(CreateHolidayViewModel createHoliday) { string msg; try { if (createHoliday.HolidayID != 0) { ModelState.Remove("AssignType"); } if (ModelState.IsValid) { if (createHoliday.HolidayID != 0) { SearchHolidayViewModel searchHoliday = new SearchHolidayViewModel(); searchHoliday.Year = createHoliday.SearchHoliday.Year; searchHoliday.Month = createHoliday.SearchHoliday.Month; searchHoliday.SearchResourceID = createHoliday.SearchHoliday.SearchResourceID; if (holidayBL.AddEditHoliday(createHoliday, out msg)) { return(Json(new { success = true, searchHoliday = searchHoliday, message = msg })); } else { _ViewBagListDetails(); return(Json(new { success = false, searchHoliday = searchHoliday, message = msg, partialview = RenderViewToString("_CreateHoliday", createHoliday) })); } } else { var dayDi = (createHoliday.HolidayEndDate - createHoliday.HolidayStartDate).Days + 1; //var startDat = createHoliday.HolidayStartDate; int count = 0; List <string> dateList = new List <string>(); if (createHoliday.ResourceID != 0) { for (int i = 0; i < dayDi; i++) { var testDate = createHoliday.HolidayStartDate.AddDays(i); var takeHoli = holidayBL.GetDayHoliday(testDate, createHoliday.ResourceID); if (((testDate.DayOfWeek == DayOfWeek.Friday && createHoliday.WeeklyFriday == true) || (testDate.DayOfWeek == DayOfWeek.Monday && createHoliday.WeeklyMonday == true) || (testDate.DayOfWeek == DayOfWeek.Saturday && createHoliday.WeeklySaturday == true) || (testDate.DayOfWeek == DayOfWeek.Sunday && createHoliday.WeeklySunday == true) || (testDate.DayOfWeek == DayOfWeek.Thursday && createHoliday.WeeklyThursday == true) || (testDate.DayOfWeek == DayOfWeek.Tuesday && createHoliday.WeeklyTuesday == true) || (testDate.DayOfWeek == DayOfWeek.Wednesday && createHoliday.WeeklyWednesday == true)) && createHoliday.AssignType != "NoofDays") { if (takeHoli == true) { dateList.Add(testDate.Date.ToString(MvcApplication.DateFormat)); } count = count + 1; } if (createHoliday.AssignType == "NoofDays") { if (takeHoli == true) { dateList.Add(testDate.Date.ToString(MvcApplication.DateFormat)); } } } } if (createHoliday.HolidayStartDate < createHoliday.RequestedOn || createHoliday.HolidayStartDate > createHoliday.HolidayEndDate || (count == 0 && createHoliday.AssignType != "NoofDays") || dateList.Count > 0 || createHoliday.NoofDays < 0) { if (createHoliday.HolidayStartDate > createHoliday.HolidayEndDate) { ModelState.AddModelError("HolidayEndDate", "Invalid Date Range"); } if (count == 0 && (createHoliday.WeeklyFriday == true || createHoliday.WeeklyMonday == true || createHoliday.WeeklySaturday == true || createHoliday.WeeklySunday == true || createHoliday.WeeklyThursday == true || createHoliday.WeeklyTuesday == true || createHoliday.WeeklyWednesday == true) && createHoliday.AssignType != "NoofDays") { ModelState.AddModelError("HolidayEndDate", "Not suitable to create shift Schedule within Your Required Days !"); } if (dateList.Count > 0) { string outputName = string.Join(",", dateList.ToArray()); ModelState.AddModelError("HolidayEndDate", "You already Booked this Holiday on " + "'" + outputName + "'"); } if (createHoliday.NoofDays < 0) { ModelState.AddModelError("NoofDays", "NoofDays cannot be Zero or less than Zero!"); } if (createHoliday.WeeklySunday == false && createHoliday.WeeklyMonday == false && createHoliday.WeeklyTuesday == false && createHoliday.WeeklyWednesday == false && createHoliday.WeeklyThursday == false && createHoliday.WeeklyFriday == false && createHoliday.WeeklySaturday == false && createHoliday.AssignType != "NoofDays") { ModelState.AddModelError("AssignType", "Please Select At least One Week Day"); } if (createHoliday.HolidayStartDate < createHoliday.RequestedOn) { ModelState.AddModelError("RequestedOn", "Requested On date should be earlier than the holiday dates"); } _ViewBagListDetails(); return(PartialView("_CreateHoliday", createHoliday)); } if (holidayBL.AssignHoliday(createHoliday, out msg)) { return(Json(new { succeed = true, message = msg })); } else { _ViewBagListDetails(); return(Json(new { succeed = false, message = msg, partialview = RenderViewToString("_CreateHoliday", createHoliday) })); } } } _ViewBagListDetails(); return(PartialView("_CreateHoliday", createHoliday)); } catch (Exception ex) { _ViewBagListDetails(); return(Json(new { success = false, message = ex.Message, partialview = RenderViewToString("_CreateHoliday", createHoliday) })); } }