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);
        }
Exemple #2
0
        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);
        }