public void Remove(PayrollGrade payroll)
 {
     if (Context.Entry(payroll).State == EntityState.Detached)
     {
         context.PayrollGrades.Attach(payroll);
     }
     context.PayrollGrades.Remove(payroll);
 }
        public ActionResult CreatePayrollGrades(IEnumerable <PayrollGradesViewModel> models)
        {
            var result = new List <PayrollGrade>();

            var datasource = new DataSource <PayrollGradesViewModel>();

            datasource.Data  = models;
            datasource.Total = models.Count();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    var errors = _hrUnitOfWork.MenuRepository.Check(new CheckParm
                    {
                        CompanyId  = CompanyId,
                        ObjectName = "PayrollGrades",
                        TableName  = "PayrollGrades",
                        Columns    = Models.Utils.GetModifiedRows(ModelState),
                        Culture    = Language
                    });

                    if (errors.Count() > 0)
                    {
                        datasource.Errors = errors;
                        return(Json(datasource));
                    }
                }
                foreach (PayrollGradesViewModel p in models)
                {
                    var payroll = new PayrollGrade();
                    payroll.Points      = p.Point == null ? null : string.Join(",", p.Point.ToArray());
                    payroll.CreatedUser = UserName;
                    payroll.CreatedTime = DateTime.Now;
                    AutoMapper(new Models.AutoMapperParm
                    {
                        Destination = payroll,
                        Source      = p,
                        ObjectName  = "PayrollGrades",
                        Transtype   = TransType.Insert
                    });
                    payroll.CompanyId = p.IsLocal ? CompanyId : (int?)null;
                    result.Add(payroll);
                    _hrUnitOfWork.PayrollRepository.Add(payroll);
                }


                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            datasource.Data = (from f in models
                               join r in result on f.Code equals r.Code
                               select new PayrollGradesViewModel
            {
                Id = (r == null ? 0 : r.Id),
                Code = f.Code,
                EndDate = f.EndDate,
                Name = f.Name,
                IsLocal = f.IsLocal,
                Group = f.Group,
                Grade = f.Grade,
                SubGrade = f.SubGrade,
                Points = r.Points,
                StartDate = f.StartDate,
                PointName = f.PointName
            }).ToList();

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                return(Json(datasource.Data));
            }
        }
 public void Attach(PayrollGrade payroll)
 {
     context.PayrollGrades.Attach(payroll);
 }
 public DbEntityEntry <PayrollGrade> Entry(PayrollGrade payroll)
 {
     return(Context.Entry(payroll));
 }
 public void Add(PayrollGrade payrollGrade)
 {
     context.PayrollGrades.Add(payrollGrade);
 }