public ActionResult LeaveCreation(tblPayroll LeaveCreation)
 {
     try
     {
         LeaveCreation.CreatedBy = ((tblEmployee)(Session["EmployeeData"])).Employee_Id;
         //var isExistm = scheModel.tblPayrolls.Any(x => x.Payroll_Id == LeaveCreation.Payroll_Id);
         // if (!isExistm)
         //{
         LeaveCreation.CreatedDatetime = DateTime.Now;
         scheModel.tblPayrolls.Add(LeaveCreation);
         scheModel.SaveChanges();
         at.InsrtHistory((tblEmployee)Session["EmployeeData"], ((tblEmployee)(Session["EmployeeData"])).Employee_Id, "Payroll", "NA", "New Leave Created", LeaveCreation.otherdata.Remark);
         return(Json("Save Success", JsonRequestBehavior.AllowGet));
         //}
         //else
         //{
         //    return Json("Updated Success", JsonRequestBehavior.AllowGet);
         //}
     }
     catch (Exception e)
     {
         return(Json(e.Message, JsonRequestBehavior.AllowGet));
     }
 }
Beispiel #2
0
        public SavingResult SavePayroll(int Month, int Year, tblPayrollEmployeeDetail EmployeeDetailSaveModel, List <EmployeePayslip_EarningAndDeductionsViewModel> EarningDeductions, List <EmployeePayslip_NoncashBenefitViewModel> NonCashBenefits, List <EmployeePayslip_PAYEReliefeViewModel> PAYERelief)
        {
            SavingResult res = new SavingResult();

            using (dbVisionEntities db = new dbVisionEntities())
            {
                tblPayroll SaveModel = db.tblPayrolls.FirstOrDefault(r => r.Month == Month && r.Year == Year);
                if (SaveModel == null)
                {
                    SaveModel = new tblPayroll()
                    {
                        Month = Month,
                        Year  = Year,
                    };

                    SaveModel.rcdt        = DateTime.Now;
                    SaveModel.rcuid       = CommonProperties.LoginInfo.LoggedinUser.UserID;
                    SaveModel.CompanyID   = CommonProperties.LoginInfo.LoggedInCompany.CompanyID;
                    SaveModel.FinPeriodID = CommonProperties.LoginInfo.LoggedInFinPeriod.FinPeriodID;

                    db.tblPayrolls.Add(SaveModel);
                }
                //else
                //{
                //    SaveModel.redt = DateTime.Now;
                //    SaveModel.reuid = CommonProperties.LoginInfo.LoggedinUser.UserID;

                //    db.tblPayrolls.Attach(SaveModel);
                //    db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified;

                //    db.tblPayrollEmployeeDetails.RemoveRange(db.tblPayrollEmployeeDetails.Where(r => r.PayrollID == SaveModel.PayrollID));
                //    db.tblPayrollEmployeeEarningsDeductions.RemoveRange(db.tblPayrollEmployeeEarningsDeductions.Where(r => r.PayrollID == SaveModel.PayrollID));
                //    db.tblPayrollEmployeeNonCashBenefits.RemoveRange(db.tblPayrollEmployeeNonCashBenefits.Where(r => r.PayrollID == SaveModel.PayrollID));
                //}

                if (EmployeeDetailSaveModel.PayrollEmployeeDetailID == 0)
                {
                    EmployeeDetailSaveModel.tblPayroll = SaveModel;
                    db.tblPayrollEmployeeDetails.Add(EmployeeDetailSaveModel);
                }
                else
                {
                    db.tblPayrollEmployeeDetails.Attach(EmployeeDetailSaveModel);
                    db.Entry(EmployeeDetailSaveModel).State = System.Data.Entity.EntityState.Modified;

                    db.tblPayrollEmployeeEarningsDeductions.RemoveRange(db.tblPayrollEmployeeEarningsDeductions.Where(r => r.PayrollEmployeeDetailID == EmployeeDetailSaveModel.PayrollEmployeeDetailID));
                    db.tblPayrollEmployeeNonCashBenefits.RemoveRange(db.tblPayrollEmployeeNonCashBenefits.Where(r => r.PayrollEmployeeDetailID == EmployeeDetailSaveModel.PayrollEmployeeDetailID));
                    db.tblPayrollEmployePAYEReliefs.RemoveRange(db.tblPayrollEmployePAYEReliefs.Where(r => r.PayrollEmployeeDetailID == EmployeeDetailSaveModel.PayrollEmployeeDetailID));
                }

                db.tblPayrollEmployeeEarningsDeductions.AddRange(EarningDeductions.Where(r => r.Value != 0).Select(r => new tblPayrollEmployeeEarningsDeduction()
                {
                    tblPayrollEmployeeDetail = EmployeeDetailSaveModel,
                    EarningsDeductionID      = r.EarningAndDeductionID,
                    Value     = r.Value,
                    Taxable   = r.Taxable,
                    ValueType = (byte)r.ValueType,
                }));

                db.tblPayrollEmployeeNonCashBenefits.AddRange(NonCashBenefits.Where(r => r.Selected).Select(r => new tblPayrollEmployeeNonCashBenefit()
                {
                    tblPayrollEmployeeDetail = EmployeeDetailSaveModel,
                    NonCashBenefitID         = r.NonCashBenefitID,
                    CostValue = r.CostValue,
                    KRAPerc   = r.KRAValuePercentage,
                    KRAValue  = r.KRAValue,
                    KRAValueCalculatedOnAmt = 0,
                    Recurring = r.Recurrning,
                }));


                db.tblPayrollEmployePAYEReliefs.AddRange(PAYERelief.Where(r => r.Selected && r.PAYEReliefAmt != 0).Select(r => new tblPayrollEmployePAYERelief()
                {
                    PayrollEmployeeDetailID = EmployeeDetailSaveModel.PayrollEmployeeDetailID,
                    PAYEReliefID            = r.PAYEReliefID,
                    PAYEReliefAmt           = r.PAYEReliefAmt,
                }));

                try
                {
                    db.SaveChanges();
                    res.ExecutionResult = eExecutionResult.CommitedSucessfuly;
                }
                catch (Exception ex)
                {
                    CommonFunctions.GetFinalError(res, ex);
                }

                return(res);
            }
        }