Beispiel #1
0
        public static void SaveAuditLog(object NewObj, int LoggedInuserID, EnumControllerNames enumControllerName, EnumActionNames enumActionName)
        {
            using (var db = new ABESSPEntities())
            {
                Type           t     = NewObj.GetType();
                PropertyInfo[] props = t.GetProperties();

                foreach (var prop in props)
                {
                    if (prop.GetIndexParameters().Length == 0)
                    {
                        string PValue = "";
                        string PName  = prop.Name;
                        string PType  = prop.PropertyType.Name;
                        if (prop.GetValue(NewObj) != null)
                        {
                            PValue = prop.GetValue(NewObj).ToString();
                        }
                    }
                    else
                    {
                    }
                }
            }
        }
        // GET: Payroll/Integeration
        public ActionResult Index()
        {
            ABESSPEntities       db   = new ABESSPEntities();
            List <PayrollPeriod> list = db.PayrollPeriods.Where(aa => aa.PeriodStageID == "O").ToList();

            return(View(list));
        }
        public ActionResult Integrate(int?id)
        {
            ABESSPEntities db = new ABESSPEntities();

            if (id != null)
            {
                List <PayrollPeriod> payrollPeriods = db.PayrollPeriods.Where(aa => aa.PeriodStageID == "O").ToList();
                if (payrollPeriods.Count() > 1)
                {
                    ModelState.AddModelError("PRName", "More then one Payroll Period are open, Please close last period.");
                }
                else
                {
                    List <VAT_MonthData> monthDataList = db.VAT_MonthData.Where(aa => aa.PayrollPeriodID == id).ToList();
                    foreach (var item in monthDataList)
                    {
                        int EarnedHours = 0;
                        if (item.TWorkTime != null || item.TWorkTime > 0)
                        {
                            EarnedHours = (int)(item.TWorkTime) / 60;
                        }
                        else
                        {
                            EarnedHours = 0;
                        }
                        try
                        {
                            using (var http = new HttpClient())
                            {
                                var data = new ModelType
                                {
                                    EMP_NO       = Convert.ToInt16(item.OEmpID),
                                    EARNED_DAYS  = (float)item.WorkDays,
                                    PERIOD       = item.PRName,
                                    ABSENTS      = (float)item.AbsentDays,
                                    LWOP         = (float)item.WOPLeavesDays,
                                    EARNED_HOURS = EarnedHours
                                };
                                var content = new StringContent(JsonConvert.SerializeObject(data));
                                content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
                                var request  = http.PostAsync("http://10.60.0.41:8080/ords/mashrest/mash_wms/mash_wms/", content);
                                var response = request.Result.Content.ReadAsStringAsync().Result;
                            }
                        }

                        catch (Exception)
                        {
                            throw;
                        }
                    }
                    ToasterMessages.Add("Monthly Data transferd successfully.");
                    Session["ToasterMessages"] = ToasterMessages;
                }
            }

            return(RedirectToAction("Index"));
        }
Beispiel #4
0
        public static List <VMLeaveBalance> GetYearlyLeaveBalance(List <VHR_EmployeeProfile> dbEmps, FinancialYear dbFinYear, List <LeaveQuotaYear> dbLeaveQuotaYears, List <LeavePolicy> dbLeavePolicies,
                                                                  List <LeaveData> dbLeaveDatas, ABESSPEntities db)
        {
            List <VMLeaveBalance> vmLeaveBalanceList = new List <VMLeaveBalance>();

            foreach (var dbEmp in dbEmps)
            {
                float          TotalLvDays    = 21;
                VMLeaveBalance vmLeaveBalance = new VMLeaveBalance();
                if (dbEmp.ALPolicyID != null && dbLeavePolicies.Where(aa => aa.PLeavePolicyID == dbEmp.ALPolicyID).Count() > 0)
                {
                    TotalLvDays = (float)dbLeavePolicies.First(aa => aa.PLeavePolicyID == dbEmp.ALPolicyID).TotalDays;
                }
                vmLeaveBalance.PEmployeeID   = dbEmp.PEmployeeID;
                vmLeaveBalance.EmployeeName  = dbEmp.EmployeeName;
                vmLeaveBalance.DOJ           = dbEmp.DOJ;
                vmLeaveBalance.ServiceLength = GetServiceLength(dbEmp.DOJ, dbEmp.ResignDate);
                if (dbEmp.Status == "Resigned")
                {
                    vmLeaveBalance.OEmpID = dbEmp.OEmpID + " (Resigned Date: " + dbEmp.ResignDate.Value.ToString("dd-MM-yyyy") + ")";
                    int PayrollPeriodIDEnd      = ATAssistant.GetPayrollPeriodIDEnd(dbEmp.ResignDate.Value, db.PayrollPeriods.ToList());
                    List <MonthData> monthDatas = db.MonthDatas.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.AbsentDays > 0).ToList();
                    if (monthDatas.Count() > 0)
                    {
                        vmLeaveBalance.Absents = (float)monthDatas.Sum(aa => aa.AbsentDays);
                    }
                }
                else
                {
                    vmLeaveBalance.OEmpID = dbEmp.OEmpID;
                }
                // vmLeaveBalance.OUName = dbEmp.OUName;
                vmLeaveBalance.LocationName       = dbEmp.LocationName;
                vmLeaveBalance.JobTitleName       = dbEmp.JobTitleName;
                vmLeaveBalance.EmploymentTypeName = dbEmp.EmploymentTypeName;
                vmLeaveBalance.LWOP = dbLeaveDatas.Where(aa => aa.EmpID == dbEmp.PEmployeeID && aa.HalfLeave == false).Count() + (dbLeaveDatas.Where(aa => aa.EmpID == dbEmp.PEmployeeID && aa.HalfLeave == true).Count() / 2);
                if (dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 1).Count() > 0) // AL
                {
                    LeaveQuotaYear dbLeaveQuotaYear = dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 1).First();
                    vmLeaveBalance.TotalAL   = dbLeaveQuotaYear.YearlyTotal;
                    vmLeaveBalance.BalanceAL = dbLeaveQuotaYear.YearlyRemaining;
                    vmLeaveBalance.AvailAL   = vmLeaveBalance.TotalAL - vmLeaveBalance.BalanceAL;
                    if (dbEmp.Status == "Resigned")
                    {
                        // Check for if employee join in same financial year
                        float Divider     = 1;
                        float WorkingDays = 0;
                        if (dbEmp.DOJ.Value >= dbFinYear.FYStartDate)
                        {
                            Divider     = (dbFinYear.FYEndDate.Value - dbEmp.DOJ.Value).Days + 1;
                            WorkingDays = (dbEmp.ResignDate.Value - dbEmp.DOJ.Value).Days + 1;
                        }
                        else
                        {
                            Divider     = 365;
                            WorkingDays = (dbEmp.ResignDate.Value - dbFinYear.FYStartDate.Value).Days + 1;
                        }
                        float  ProRataLeave = (float)(vmLeaveBalance.TotalAL * WorkingDays) / Divider;
                        double decimalValue = Math.Round((double)ProRataLeave, 1);
                        vmLeaveBalance.ProrataAL = decimalValue;
                    }
                }
                if (dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 1).Count() > 0) // ACCU
                {
                    LeaveQuotaYear dbLeaveQuotaYear = dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 1).First();
                    vmLeaveBalance.TotalAccum   = dbLeaveQuotaYear.CFFromLastYear;
                    vmLeaveBalance.BalanceAccum = dbLeaveQuotaYear.CFRemaining;
                    vmLeaveBalance.AvailAccum   = vmLeaveBalance.TotalAccum - vmLeaveBalance.BalanceAccum;
                    vmLeaveBalance.ProrataAccum = vmLeaveBalance.BalanceAccum;
                }
                if (dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 2).Count() > 0) // CL
                {
                    LeaveQuotaYear dbLeaveQuotaYear = dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 2).First();
                    vmLeaveBalance.TotalCL   = dbLeaveQuotaYear.YearlyTotal;
                    vmLeaveBalance.BalanceCL = dbLeaveQuotaYear.YearlyRemaining;
                    vmLeaveBalance.AvailCL   = vmLeaveBalance.TotalCL - vmLeaveBalance.BalanceCL;
                }
                if (dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 3).Count() > 0) //SL
                {
                    LeaveQuotaYear dbLeaveQuotaYear = dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 3).First();
                    vmLeaveBalance.TotalSL   = dbLeaveQuotaYear.YearlyTotal;
                    vmLeaveBalance.BalanceSL = dbLeaveQuotaYear.YearlyRemaining;
                    vmLeaveBalance.AvailSL   = vmLeaveBalance.TotalSL - vmLeaveBalance.BalanceSL;
                }
                if (dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 4).Count() > 0) //CPL
                {
                    LeaveQuotaYear dbLeaveQuotaYear = dbLeaveQuotaYears.Where(aa => aa.EmployeeID == dbEmp.PEmployeeID && aa.LeaveTypeID == 4).First();
                    vmLeaveBalance.TotalCPL   = dbLeaveQuotaYear.YearlyTotal;
                    vmLeaveBalance.BalanceCPL = dbLeaveQuotaYear.YearlyRemaining;
                    vmLeaveBalance.AvailCPL   = vmLeaveBalance.TotalCPL - vmLeaveBalance.BalanceCPL;
                }
                vmLeaveBalanceList.Add(vmLeaveBalance);
            }



            return(vmLeaveBalanceList);
        }