public void Remove(EmpDiscipline period)
 {
     if (Context.Entry(period).State == EntityState.Detached)
     {
         context.EmpDisciplines.Attach(period);
     }
     context.EmpDisciplines.Remove(period);
 }
        public ActionResult DeleteEmpDiscipline(int id)
        {
            List <Error> errors = new List <Error>();
            DataSource <EmpDisciplineViewModel> Source = new DataSource <EmpDisciplineViewModel>();
            EmpDiscipline empDesplin = _hrUnitOfWork.DisciplineRepository.GetEmpDisplin(id);

            _hrUnitOfWork.DisciplineRepository.RemoveEmpDisplin(empDesplin.Id);

            string message = "OK";

            Source.Errors = SaveChanges(Language);
            if (Source.Errors.Count > 0)
            {
                return(Json(Source));
            }
            else
            {
                return(Json(message));
            }
        }
        public ActionResult SaveEmpDiscipline(EmpDisciplineFormViewModel model, OptionsViewModel moreInfo)
        {
            List <Error> errors = new List <Error>();

            //_hrUnitOfWork.Repository<DisPeriodNo>().Where(a=>a.)

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "EmpDisciplines",
                        TableName    = "EmpDisciplines",
                        Columns      = Models.Utils.GetColumnViews(ModelState),
                        ParentColumn = "CompanyId",
                        Culture      = Language
                    });

                    if (errors.Count() > 0)
                    {
                        foreach (var e in errors)
                        {
                            foreach (var errorMsg in e.errors)
                            {
                                ModelState.AddModelError(errorMsg.field, errorMsg.message);
                            }
                        }

                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                }
                var record = _hrUnitOfWork.Repository <EmpDiscipline>().FirstOrDefault(j => j.Id == model.Id);
                if (record == null) //Add
                {
                    record        = new EmpDiscipline();
                    model.Witness = model.IWitness == null ? null : string.Join(",", model.IWitness.ToArray());
                    moreInfo.VisibleColumns.Add("Witness");
                    AutoMapper(new Models.AutoMapperParm
                    {
                        Destination = record,
                        Source      = model,
                        ObjectName  = "EmpDisciplines",
                        Options     = moreInfo
                    });
                    record.CreatedTime = DateTime.Now;
                    record.CreatedUser = UserName;
                    record.CompanyId   = CompanyId;

                    if (record.Manager == record.EmpId)
                    {
                        ModelState.AddModelError("Manager", MsgUtils.Instance.Trls("MangerIsSameEmployee"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                    if (record.ViolDate > record.DescionDate)
                    {
                        ModelState.AddModelError("DescionDate", MsgUtils.Instance.Trls("DescionMustGrtViolDate"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }


                    _hrUnitOfWork.DisciplineRepository.Add(record);
                }
                else //update
                {
                    model.Witness = model.IWitness == null ? null : string.Join(",", model.IWitness.ToArray());
                    moreInfo.VisibleColumns.Add("Witness");

                    AutoMapper(new Models.AutoMapperParm
                    {
                        Destination = record,
                        Source      = model,
                        ObjectName  = "EmpDisciplines",
                        Options     = moreInfo
                    });
                    if (record.Manager == record.EmpId)
                    {
                        ModelState.AddModelError("Manager", MsgUtils.Instance.Trls("MangerIsSameEmployee"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                    if (record.ViolDate > record.DescionDate)
                    {
                        ModelState.AddModelError("DescionDate", MsgUtils.Instance.Trls("DescionMustGrtViolDate"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                    // record.CompanyId = CompanyId;
                    moreInfo.VisibleColumns.Add("Jobs");
                    record.ModifiedTime = DateTime.Now;
                    record.ModifiedUser = UserName;
                    _hrUnitOfWork.DisciplineRepository.Attach(record);
                    _hrUnitOfWork.DisciplineRepository.Entry(record).State = EntityState.Modified;
                }

                if (errors.Count > 0)
                {
                    return(Json(errors.First().errors.First().message));
                }
                var    Errors  = SaveChanges(Language);
                string message = "OK," + ((new JavaScriptSerializer()).Serialize(record));
                if (Errors.Count > 0)
                {
                    message = Errors.First().errors.First().message;
                }

                return(Json(message));
            }
            else
            {
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }
        }
 public DbEntityEntry <EmpDiscipline> Entry(EmpDiscipline period)
 {
     return(Context.Entry(period));
 }
 public void Attach(EmpDiscipline period)
 {
     context.EmpDisciplines.Attach(period);
 }
 public void Add(EmpDiscipline period)
 {
     context.EmpDisciplines.Add(period);
 }