Exemplo n.º 1
0
        public ActionResult Assign(int?Id)
        {
            var model           = new TimekeepingListViewModel();
            var timekeepingList = timekeepingListRepository.GetvwTimekeepingListById(Id.Value);

            AutoMapper.Mapper.Map(timekeepingList, model);
            var user    = userRepository.GetUserById(WebSecurity.CurrentUserId);
            var holiday = holidayRepository.GetAllHolidays().AsEnumerable().ToList();
            var staff   = StaffsRepository.GetvwAllStaffs().Where(x => x.BranchDepartmentId == timekeepingList.DepartmentId);

            ViewBag.staffList  = staff;
            ViewBag.DayHoliday = holiday;
            DateTime aDateTime = new DateTime(timekeepingList.Year.Value, timekeepingList.Month.Value, 1);
            // Cộng thêm 1 tháng và trừ đi một ngày.
            DateTime retDateTime = aDateTime.AddMonths(1).AddDays(-1);

            ViewBag.aDateTime   = aDateTime;
            ViewBag.retDateTime = retDateTime;
            var DayOff = categoryRepository.GetCategoryByCode("DayOffDefault").AsEnumerable().ToList();

            ViewBag.DayOff = DayOff;
            var ShiftsList = shiftsRepository.GetAllShifts().Where(x => x.CategoryShifts == timekeepingList.CategoryShifts).AsEnumerable();

            ViewBag.ShiftsList = ShiftsList;
            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult Edit(int?Id)
        {
            var TimekeepingList = TimekeepingListRepository.GetvwTimekeepingListById(Id.Value);

            if (TimekeepingList != null && TimekeepingList.IsDeleted != true)
            {
                var model = new TimekeepingListViewModel();
                AutoMapper.Mapper.Map(TimekeepingList, model);

                //if (model.CreatedUserId != Helpers.Common.CurrentUser.Id && Helpers.Common.CurrentUser.UserTypeId != 1)
                //{
                //    TempData["FailedMessage"] = "NotOwner";
                //    return RedirectToAction("Index");
                //}

                return(View(model));
            }
            if (Request.UrlReferrer != null)
            {
                return(Redirect(Request.UrlReferrer.AbsoluteUri));
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public ViewResult List(int?Id, int?page)
        {
            var model = new WorkSchedulesViewModel();

            model.TimekeepingListId = Id;
            var      timekeepingList = timekeepingListRepository.GetvwTimekeepingListById(Id.Value);
            var      staff           = Erp.BackOffice.Helpers.Common.GetStaffByCurrentUser();
            DateTime aDateTime       = new DateTime(timekeepingList.Year.Value, timekeepingList.Month.Value, 1);
            // Cộng thêm 1 tháng và trừ đi một ngày.
            DateTime retDateTime = aDateTime.AddMonths(1).AddDays(-1);

            ViewBag.aDateTime   = aDateTime;
            ViewBag.retDateTime = retDateTime;
            var listTinmeKeeping = workSchedulesRepository.GetvwAllWorkSchedules().Where(x => x.TimekeepingListId.Value == Id).ToList();

            var pager = new Pager(listTinmeKeeping.Count(), page, 20);

            model.pageIndexViewModel = new IndexViewModel <WorkSchedulesViewModel>
            {
                Items = listTinmeKeeping.OrderBy(m => m.Code).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize)
                        .Select(i => new WorkSchedulesViewModel
                {
                    BranchDepartmentId = i.BranchDepartmentId,
                    Code       = i.Code,
                    CodeShifts = i.CodeShifts,
                    Color      = i.Color,
                    Day        = i.Day,
                    DayOff     = i.DayOff,
                    DayOffCode = i.DayOffCode,
                    DayOffName = i.DayOffName,
                    EndTime    = i.EndTime,
                    EndTimeIn  = i.EndTimeIn,
                    Id         = i.Id,
                    //HoursIn = i.HoursIn,
                    //HoursOut = i.HoursOut,
                    Month      = i.Month,
                    Name       = i.Name,
                    NameShifts = i.NameShifts,
                    //Sale_BranchId = i.Sale_BranchId,
                    //ShiftsId = i.ShiftsId,
                    StaffId                    = i.StaffId,
                    StartTime                  = i.StartTime,
                    StartTimeOut               = i.StartTimeOut,
                    Symbol                     = i.Symbol,
                    Timekeeping                = i.Timekeeping,
                    Total_minute_work          = i.Total_minute_work,
                    Total_minute_work_early    = i.Total_minute_work_early,
                    Total_minute_work_late     = i.Total_minute_work_late,
                    Total_minute_work_overtime = i.Total_minute_work_overtime,
                    //UserEnrollNumber = i.UserEnrollNumber,
                    Year = i.Year,
                    TimekeepingListId = i.TimekeepingListId
                }).OrderBy(x => x.ShiftsId).ToList(),
                Pager = pager
            };

            //lấy danh sách các ngày nghỉ trong tuần, theo quy định từng công ty.
            var DayOff = categoryRepository.GetCategoryByCode("DayOffDefault").Where(x => x.Value == "True").AsEnumerable().ToList();

            ViewBag.DayOff = DayOff;
            //lấy danh sách các ngày nghỉ lễ trong năm
            var holiday = holidayRepository.GetAllHolidays().AsEnumerable().ToList();

            ViewBag.DayHoliday = holiday;

            if (model.pageIndexViewModel.Items != null)
            {
                //lấy danh sách nhân viên chấm công của tháng đó, chi nhánh đó
                model.StaffList = model.pageIndexViewModel.Items
                                  .GroupBy(x => new { x.StaffId }, (key, group) => new WorkSchedulesViewModel
                {
                    StaffId           = key.StaffId,
                    Code              = group.FirstOrDefault().Code,
                    Name              = group.FirstOrDefault().Name,
                    Id                = group.FirstOrDefault().Id,
                    TimekeepingListId = group.FirstOrDefault().TimekeepingListId,
                    Year              = group.FirstOrDefault().Year,
                    Month             = group.FirstOrDefault().Month
                }).ToList();
                //lấy danh sách ngày công của nhân viên trong bảng chấm công nhóm theo id nhân viên và ngày công.
                model.DayWorkList = model.pageIndexViewModel.Items.GroupBy(x => new { x.StaffId, x.Day }, (key, group) =>
                                                                           new WorkSchedulesViewModel
                {
                    StaffId = key.StaffId,
                    Day     = key.Day,
                    Id      = group.FirstOrDefault().Id
                }).OrderBy(x => x.Day).ToList();
            }
            return(View(model));
        }