Ejemplo n.º 1
0
 /// <summary>
 /// Delete ShiftSchedule
 /// </summary>
 /// <param name="shiftSearch"></param>
 /// <returns></returns>
 public bool DeleteShiftSchedule(ShiftSearchViewModel shiftSearch, out string msg)
 {
     msg = "";
     try
     {
         var delShift = _db.Resource_ShiftSchedule.Where(x => x.ShiftScheduleID == shiftSearch.ShiftScheduleID).FirstOrDefault();
         if (delShift != null)
         {
             _db.Resource_ShiftSchedule.Remove(delShift);
             _db.SaveChanges();
             msg = "Successfully Removed";
             return(true);
         }
         else
         {
             msg = "Something Wrong";
             return(false);
         }
     }
     catch (Exception ex)
     {
         msg = ex.Message;
         return(false);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Get Weekly Shift List
        /// </summary>
        /// <param name="shiftSearch"></param>
        /// <returns></returns>
        public ShiftScheduleViewModel GetWeeklyShiftList(ShiftSearchViewModel shiftSearch)
        {
            ShiftScheduleViewModel shiftAddList = new ShiftScheduleViewModel();
            var shiftList = GetShiftScheduleList(shiftSearch);

            if (shiftSearch.SelectView == "Weekly" && shiftSearch.StartDate != null)
            {
                var daysEnd     = shiftSearch.StartDate.Value.AddDays(6);
                var shiftWeekly = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= daysEnd).GroupBy(x => x.Employee).Select(g => new { Employee = g.Key, ShiftStartDate = g.Select(y => y.ShiftStartDate).ToList(), ShiftPattern = g.Select(z => z.ShiftPattern).ToList() });
                var conDate     = shiftWeekly.Select(c => c.ShiftStartDate).ToList();
                var conEmp      = shiftWeekly.Select(c => c.Employee).ToList();
                var conPattern  = shiftWeekly.Select(c => c.ShiftPattern).ToList();
                shiftAddList.ResourceNameList = new List <WeeklyBO>();
                for (int i = 0; i < shiftWeekly.Select(c => c.Employee).ToList().Count; i++)
                {
                    WeeklyBO weekBO = new WeeklyBO();
                    weekBO.ResourceWeekly     = conEmp[i];
                    weekBO.ShiftPatternList   = conPattern[i];
                    weekBO.ShiftStartDateList = conDate[i];
                    shiftAddList.ResourceNameList.Add(weekBO);
                }
            }
            return(shiftAddList);
        }
Ejemplo n.º 3
0
        public List <ShiftScheduleViewModel> InfinateShiftScheduleList(int BlockNumber, int BlockSize, ShiftSearchViewModel shiftSearch)
        {
            shiftSearch.StartDate = shiftSearch.StartDate != null ? shiftSearch.StartDate : null;
            shiftSearch.EndDate   = shiftSearch.EndDate != null ? shiftSearch.EndDate : shiftSearch.EndDate = null;

            int startIndex = (BlockNumber - 1) * BlockSize;
            var shiftList  = (from rss in _db.Resource_ShiftSchedule
                              select new ShiftScheduleViewModel

            {
                ShiftScheduleID = rss.ShiftScheduleID,
                EmployeeID = (int)rss.EmployeeID,
                Employee = rss.Resource_Employee.FirstName,
                ShiftStartDate = (DateTime)rss.ShiftDate,
                ShiftPatternID = (int)rss.ShiftPatternID,
                ShiftPattern = rss.Resource_ShiftPattern.Description,
                ExpectedOnDateTime = (DateTime)rss.ExpectedOnTime,
                ExpectedOffDateTime = (DateTime)rss.ExpectedOffTime,
                ActualOnDateTime = (DateTime)rss.ActualOnTime,
                ActualOffDateTime = (DateTime)rss.ActualOffTime,
                BranchNameID = (int)rss.BranchID,
                BranchName = rss.Branch_Details.BranchName,
            });

            if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID && x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null)
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).OrderBy(x => x.ShiftStartDate).Skip(startIndex).Take(BlockSize);
            }
            return(shiftList.ToList());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Get ShiftSchedule List
        /// </summary>
        /// <param name="shiftSearch"></param>
        /// <returns></returns>
        public List <ShiftScheduleViewModel> GetShiftScheduleList(ShiftSearchViewModel shiftSearch)
        {
            var shiftList = (from rss in _db.Resource_ShiftSchedule
                             select new ShiftScheduleViewModel

            {
                ShiftScheduleID = rss.ShiftScheduleID,
                EmployeeID = (int)rss.EmployeeID,
                Employee = rss.Resource_Employee.FirstName,
                ShiftStartDate = (DateTime)rss.ShiftDate,
                ShiftPatternID = (int)rss.ShiftPatternID,
                ShiftPattern = rss.Resource_ShiftPattern.Description,
                ExpectedOnDateTime = (DateTime)rss.ExpectedOnTime,
                ExpectedOffDateTime = (DateTime)rss.ExpectedOffTime,
                ActualOnDateTime = (DateTime)rss.ActualOnTime,
                ActualOffDateTime = (DateTime)rss.ActualOffTime,
                BranchNameID = (int)rss.BranchID,
                BranchName = rss.Branch_Details.BranchName,
            });

            if (shiftSearch.EmployeeID == 0)
            {
                shiftSearch.EmployeeID = null;
            }
            if (shiftSearch.BranchID == 0)
            {
                shiftSearch.BranchID = null;
            }
            if (shiftSearch.ShiftPatternNameID == 0)
            {
                shiftSearch.ShiftPatternNameID = null;
            }

            if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0?20:shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID == null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.BranchNameID == shiftSearch.BranchID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID && x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate != null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftStartDate <= shiftSearch.EndDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.BranchNameID == shiftSearch.BranchID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate == null && shiftSearch.EndDate == null && shiftSearch.EmployeeID != null && shiftSearch.BranchID != null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.EmployeeID == shiftSearch.EmployeeID && x.ShiftPatternID == shiftSearch.ShiftPatternNameID && x.BranchNameID == shiftSearch.BranchID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            else if (shiftSearch.StartDate != null && shiftSearch.EndDate == null && shiftSearch.EmployeeID == null && shiftSearch.BranchID == null && shiftSearch.ShiftPatternNameID != null && shiftSearch.SelectView != "Weekly")
            {
                shiftList = shiftList.Where(x => x.ShiftStartDate >= shiftSearch.StartDate && x.ShiftPatternID == shiftSearch.ShiftPatternNameID).Take(shiftSearch.CountData == 0 ? 20 : shiftSearch.CountData);
            }
            return(shiftList.ToList());
        }