public ActionResult Create3(VMEditMonthlyAttendance vm)
        {
            VMLoggedUser     LoggedInUser  = Session["LoggedInUser"] as VMLoggedUser;
            int              count         = Convert.ToInt32(Request.Form["Count"].ToString());
            List <MonthData> oldAttendance = new List <MonthData>();
            List <int?>      empIds        = new List <int?>();
            Expression <Func <MonthData, bool> > MonthlyAttendances = aa => aa.PayrollPeriodID == vm.PayrolPeriodID;

            oldAttendance = MonthDataRepository.FindBy(MonthlyAttendances);
            string Message = "";

            for (int i = 1; i <= count; i++)
            {
                int       EmpID      = Convert.ToInt32(Request.Form["Emp-" + i.ToString()].ToString());
                MonthData att        = oldAttendance.First(aa => aa.EmployeeID == EmpID);
                string    TotalDays  = Request.Form["TD-" + i.ToString()].ToString();
                string    PaidDays   = Request.Form["PD-" + i.ToString()].ToString();
                string    AbsentDays = Request.Form["AB-" + i.ToString()].ToString();
                string    Remarks    = "";
                EditMonthlyAttendanceList editlist = MonthlyEditorService.GetEditMonthlyAttendanceList(EmpID, vm.PayrolPeriodID,
                                                                                                       TotalDays, PaidDays, AbsentDays, Remarks);
                string val = MonthlyEditorService.CheckMonthRecordIsEdited(att, editlist);
                if (val == "Time")
                {
                    // SavMonthlyData
                    MonthDataEdit ame = new MonthDataEdit();
                    ame.DataEditDate    = DateTime.Now;
                    ame.EmployeeID      = att.EmployeeID;
                    ame.NewAbsentDays   = editlist.AbsentDays;
                    ame.OldAbsentDays   = att.AbsentDays;
                    ame.NewTotalDays    = editlist.TotalDays;
                    ame.OldTotalDays    = att.TotalDays;
                    ame.NewPaidDays     = editlist.PaidDays;
                    ame.OldPaidDays     = att.WorkDays;
                    ame.PayrollPeriodID = att.PayrollPeriodID;
                    ame.UserID          = LoggedInUser.PUserID;
                    ame.NewRemarks      = Remarks;
                    MonthDataEditRepository.Add(ame);
                    MonthDataEditRepository.Save();
                    //Change in AttMonth
                    att.AbsentDays = editlist.AbsentDays;
                    att.WorkDays   = editlist.PaidDays;
                    att.TotalDays  = editlist.TotalDays;
                    if (att.Remarks != null)
                    {
                        if (!att.Remarks.Contains('M'))
                        {
                            att.Remarks = Remarks + "[M]";
                        }
                        else
                        {
                            att.Remarks = att.Remarks;
                        }
                    }
                    else
                    {
                        att.Remarks = "[M]";
                    }
                    MonthDataRepository.Edit(att);
                    MonthDataRepository.Save();
                    empIds.Add(att.EmployeeID);
                }
            }
            List <VAT_MonthlySummary> MonthlyAttendance     = new List <VAT_MonthlySummary>();
            List <VAT_MonthlySummary> tempMonthlyAttendance = new List <VAT_MonthlySummary>();
            //var checkedEmps = form.GetValues("cbEmployee");
            Expression <Func <VAT_MonthlySummary, bool> > MonthlyAttendances2 = aa => aa.PayrollPeriodID == vm.PayrolPeriodID;

            MonthlyAttendance = VMonthlyDataRepository.FindBy(MonthlyAttendances2);
            foreach (var item in empIds)
            {
                int empid = Convert.ToInt32(item);
                if (MonthlyAttendance.Where(aa => aa.EmployeeID == empid).Count() > 0)
                {
                    tempMonthlyAttendance.Add(MonthlyAttendance.First(aa => aa.EmployeeID == empid));
                }
            }
            if (tempMonthlyAttendance.Count > 0)
            {
                return(View("Create3", MonthlyEditorService.GetMonthlyAttendanceAttributes(tempMonthlyAttendance, vm.PayrolPeriodID)));
            }
            ViewBag.PayrolPeriodID = new SelectList(DDService.GetPayrollPeriod().ToList().OrderBy(aa => aa.PRName).ToList(), "PPayrollPeriodID", "PRName");
            return(View("Create1"));
        }
예제 #2
0
        public VMEditMonthlyAttendance GetMonthlyAttendanceAttributes(List <VAT_MonthlySummary> MonthlyAttendance, int PayrollID)
        {
            VMEditMonthlyAttendance          entries = new VMEditMonthlyAttendance();
            List <EditMonthlyAttendanceList> list    = new List <EditMonthlyAttendanceList>();
            int count = 1;

            foreach (var item in MonthlyAttendance)
            {
                EditMonthlyAttendanceList eal = new EditMonthlyAttendanceList();
                eal.EmployeeID = (int)item.EmployeeID;
                eal.No         = count;
                count++;
                eal.EmpNo        = item.OEmpID;
                eal.EmpName      = item.EmployeeName;
                eal.JobTitleName = item.JobTitleName;
                eal.TotalDays    = 0;
                eal.PaidDays     = 0;
                eal.AbsentDays   = 0;

                eal.RestDays  = (float)item.RestDays;
                eal.LeaveDays = (float)item.LeaveDays;
                if (item.AbsentDays != null)
                {
                    eal.AbsentDays = (float)item.AbsentDays;
                }
                if (item.WorkDays != null)
                {
                    eal.PaidDays = (float)item.WorkDays;
                }
                if (item.TotalDays != null)
                {
                    eal.TotalDays = (float)item.TotalDays;
                }
                if (item.WOPLeavesDays != null)
                {
                    eal.LWOPDays = (float)item.WOPLeavesDays;
                }
                //if (item.TNOT != null)
                //{
                //    eal.NOT = ATAssistant.GetTimeHours(item.TNOT);
                //}
                if (item.EncashbaleSingleOT != null)
                {
                    eal.SingleEncashableOT = ATAssistant.GetTimeHours(item.EncashbaleSingleOT);
                }
                //if (item.TROT != null)
                //{
                //    eal.ROT = ATAssistant.GetTimeHours(item.TROT);
                //}
                if (item.EncashbaleDoubleOT != null)
                {
                    eal.DoubleEncashableOT = ATAssistant.GetTimeHours(item.EncashbaleDoubleOT);
                }
                //if (item.TGZOT != null)
                //{
                //    eal.GOT = ATAssistant.GetTimeHours(item.TGZOT);
                //}
                if (item.CPLConversionOT != null)
                {
                    eal.CPLOT = ATAssistant.GetTimeHours(item.CPLConversionOT);
                }
                //if (item.TotalOT != null)
                //{
                //    eal.TotalOT = ATAssistant.GetTimeHours(item.TotalOT);
                //}
                if (item.Remarks == null)
                {
                    eal.Remarks = "";
                }
                else
                {
                    eal.Remarks = item.Remarks;
                }
                list.Add(eal);
            }
            //list.Add(GetTotalCount(list));
            // entries.Locations = locs;
            entries.MonthlyList    = list.OrderBy(aa => aa.EmployeeID).ToList();
            entries.Count          = list.Count;
            entries.PayrolPeriodID = PayrollID;
            //entries.PayrollName = PRName;
            return(entries);
        }