コード例 #1
0
        public ActionResult Index(SearchHolidayViewModel searchHoliday)
        {
            HolidayBO holidayBO = new HolidayBO();

            holidayBO.searchHoliday = searchHoliday;
            _CalenderDetails(holidayBO);

            _ViewBagListDetails();
            return(View(holidayBO));
        }
コード例 #2
0
ファイル: HolidayBL.cs プロジェクト: nishanthan89/ERP
        /// <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());
        }
コード例 #3
0
        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));
        }
コード例 #4
0
ファイル: HolidayBL.cs プロジェクト: nishanthan89/ERP
 /// <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);
     }
 }
コード例 #5
0
        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)
                }));
            }
        }