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)); } }
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); } }