public void Remove(PayrollDue PayrollDue)
 {
     if (Context.Entry(PayrollDue).State == EntityState.Detached)
     {
         context.PayrollDues.Attach(PayrollDue);
     }
     context.PayrollDues.Remove(PayrollDue);
 }
 public void Add(PayrollDue PayrollDue)
 {
     context.PayrollDues.Add(PayrollDue);
 }
 public void Attach(PayrollDue PayrollDue)
 {
     context.PayrollDues.Attach(PayrollDue);
 }
 public DbEntityEntry <PayrollDue> Entry(PayrollDue PayrollDue)
 {
     return(Context.Entry(PayrollDue));
 }
        private PayDueListViewModel SaveGrid1(PayrollDueVM grid1, IEnumerable <KeyValuePair <string, ModelState> > state, Payrolls record)
        {
            //  List<Error> errors = new List<Error>();
            // List<PayrollDue> ListPayDue = new List<PayrollDue>();

            var payDueList = new PayDueListViewModel();

            payDueList.payDueList = new List <PayrollDue>();



            // Deleted
            if (grid1.deleted != null)
            {
                foreach (PayrollDueViewModel model in grid1.deleted)
                {
                    var payrolldeu = new PayrollDue
                    {
                        Id = model.Id
                    };


                    _hrUnitOfWork.PayrollRepository.Remove(payrolldeu);
                }
            }

            // Exclude delete models from sever side validations
            if (ServerValidationEnabled)
            {
                var modified = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted")));
                if (modified.Count > 0)
                {
                    payDueList.errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm
                    {
                        CompanyId  = CompanyId,
                        ObjectName = "PayrollDue",
                        Columns    = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted"))),
                        Culture    = Language
                    });

                    if (payDueList.errors.Count() > 0)
                    {
                        return(payDueList);
                    }
                }
            }

            // updated records
            if (grid1.updated != null)
            {
                foreach (PayrollDueViewModel model in grid1.updated)
                {
                    var payrolldue = new PayrollDue();
                    AutoMapper(new Models.AutoMapperParm {
                        Destination = payrolldue, Source = model, Transtype = TransType.Update
                    });
                    _hrUnitOfWork.PayrollRepository.Attach(payrolldue);
                    _hrUnitOfWork.PayrollRepository.Entry(payrolldue).State = EntityState.Modified;
                }
            }

            // inserted records
            if (grid1.inserted != null)
            {
                foreach (PayrollDueViewModel model in grid1.inserted)
                {
                    var payrolldue = new PayrollDue();
                    AutoMapper(new Models.AutoMapperParm {
                        Destination = payrolldue, Source = model, Transtype = TransType.Insert
                    });
                    payrolldue.Payroll = record;
                    _hrUnitOfWork.PayrollRepository.Add(payrolldue);
                    payDueList.payDueList.Add(payrolldue);
                }
            }

            return(payDueList);
        }