public object GetEmployeePayrollCategoryById(int id) { object result = null; EmployeePayrollCategory objEmployeePayrollCategory = new EmployeePayrollCategory(); try { using (_context) { objEmployeePayrollCategory = _context.EmployeePayrollCategory.FirstOrDefault(x => x.Id == id); result = new { objEmployeePayrollCategory, error = "0", msg = "Success" }; } } catch (Exception ex) { ex.ToString(); result = new { objEmployeePayrollCategory, error = "1", msg = "Error" }; } return(result); }
public object CreateEmployeePayrollSalaryDetail([FromBody] List <EmployeePayrollSalaryDetail> model) { object result = null; string message = ""; string errorcode = ""; string excp = ""; if (model == null) { return(BadRequest()); } using (_context) { using (var _ctxTransaction = _context.Database.BeginTransaction()) { try { Decimal?GrossSalary = 0; foreach (var EmployeeSalary in model) { if (EmployeeSalary.PayrollCategoryId != null) { EmployeePayrollCategory objPayrollCategory = _context.EmployeePayrollCategory.Where(y => y.Id == EmployeeSalary.PayrollCategoryId).FirstOrDefault(); if (objPayrollCategory.Type == true) { List <int?> PayrollIds = objPayrollCategory.PercentageOf.Split(',').Select(x => (int?)int.Parse(x)).ToList(); Decimal? AmountTemp = 0; foreach (var EmployeeSal in model) { if (PayrollIds.Contains(EmployeeSal.PayrollCategoryId)) { AmountTemp += EmployeeSal.Amount; } } if (AmountTemp != 0) { EmployeeSalary.Amount = AmountTemp * objPayrollCategory.Percentage / 100; } else { EmployeeSalary.Amount = AmountTemp; } } } if (EmployeeSalary.Amount != null) { GrossSalary += EmployeeSalary.Amount; } } foreach (var EmployeeSalary in model) { EmployeeSalary.GrossSalary = GrossSalary; } _context.EmployeePayrollSalaryDetail.AddRange(model); //await _ctx.SaveChangesAsync(); _context.SaveChanges(); _ctxTransaction.Commit(); message = "Saved Successfully"; errorcode = "0"; } catch (Exception e) { _ctxTransaction.Rollback(); e.ToString(); message = "Saved Error"; errorcode = "1"; excp = e.ToString(); } result = new { error = errorcode, msg = message, excp = excp }; } } return(result); }
public object CreateUpdateEmployeePayrollCategory(int id, [FromBody] EmployeePayrollCategory model) { object result = null; string message = ""; string errorcode = ""; string excp = ""; if (model == null) { return(BadRequest()); } using (_context) { using (var _ctxTransaction = _context.Database.BeginTransaction()) { try { if (model.Type == true) { decimal?TotalAmount = new decimal(); if (model.PercentageOf != null) { List <int> PayrollCategoryIds = model.PercentageOf.Split(',').Select(x => int.Parse(x)).ToList(); Decimal? Amount = _context.EmployeePayrollCategory.Where(y => PayrollCategoryIds.Contains(y.Id)).Select(z => z.Amount).ToList().Sum(); if (Amount != null) { if (model.Percentage != null) { TotalAmount = Amount * model.Percentage / 100; } } } if (TotalAmount != null) { model.Amount = TotalAmount; } } if (id != 0) { var entityUpdate = _context.EmployeePayrollCategory.FirstOrDefault(x => x.Id == id); if (entityUpdate != null) { entityUpdate.CategoryName = model.CategoryName; entityUpdate.Type = model.Type; entityUpdate.Percentage = model.Percentage; entityUpdate.PercentageOf = model.PercentageOf; entityUpdate.Amount = model.Amount; entityUpdate.Status = model.Status; entityUpdate.IsDeduction = model.IsDeduction; entityUpdate.Description = model.Description; entityUpdate.IsDefault = model.IsDefault; entityUpdate.TaxDeducted = model.TaxDeducted; entityUpdate.Insurationdeducted = model.Insurationdeducted; entityUpdate.Pensiondeducted = model.Pensiondeducted; entityUpdate.IsBasedOnAttandance = model.IsBasedOnAttandance; entityUpdate.Total = model.Total; entityUpdate.Period = model.Period; entityUpdate.Inbuilt = model.Inbuilt; _context.SaveChanges(); } _ctxTransaction.Commit(); message = "Entry Updated"; errorcode = "0"; } else { _context.EmployeePayrollCategory.Add(model); //await _ctx.SaveChangesAsync(); _context.SaveChanges(); _ctxTransaction.Commit(); message = "Saved Successfully"; errorcode = "0"; } } catch (Exception e) { _ctxTransaction.Rollback(); e.ToString(); message = "Saved Error"; errorcode = "1"; excp = e.ToString(); } result = new { error = errorcode, msg = message, excp = excp }; } } return(result); }
public object CreateEmployeePayrollCategory([FromBody] EmployeePayrollCategory model) { object result = null; string message = ""; string errorcode = ""; string excp = ""; if (model == null) { return(BadRequest()); } using (_context) { using (var _ctxTransaction = _context.Database.BeginTransaction()) { try { if (model.Type == true) { decimal?TotalAmount = new decimal(); if (model.PercentageOf != null) { List <int> PayrollCategoryIds = model.PercentageOf.Split(',').Select(x => int.Parse(x)).ToList(); Decimal? Amount = _context.EmployeePayrollCategory.Where(y => PayrollCategoryIds.Contains(y.Id)).Select(z => z.Amount).ToList().Sum(); if (Amount != null) { if (model.Percentage != null) { TotalAmount = Amount * model.Percentage / 100; } } } if (TotalAmount != null) { model.Amount = TotalAmount; } } _context.EmployeePayrollCategory.Add(model); //await _ctx.SaveChangesAsync(); _context.SaveChanges(); _ctxTransaction.Commit(); message = "Saved Successfully"; errorcode = "0"; } catch (Exception e) { _ctxTransaction.Rollback(); e.ToString(); message = "Saved Error"; errorcode = "1"; excp = e.ToString(); } result = new { error = errorcode, msg = message, excp = excp }; } } return(result); }