private void SaveGrid_Section(EmploymentPapersUploadVModel Model, string Culture, CompanyDocsViews doc)
        {
            IList <CompanyDocAttr> oldCompDocAttr = null;

            if (Model.Stream_Id != null)
            {
                oldCompDocAttr = hrUnitOfWork.CompanyDocAttrRepository.GetDocAttrByStreamId(Model.Stream_Id.Value);
            }

            foreach (CompanyDocAttrViewModel UpdatedAttr in Model.BatchGridData_List)
            {
                //if (UpdatedAttr. !string.IsNullOrEmpty(UpdatedAttr.Value))
                //{
                if (!UpdatedAttr.Insert && oldCompDocAttr != null)
                {
                    var docAttr = oldCompDocAttr.Where(a => a.AttributeId == UpdatedAttr.Id).FirstOrDefault();
                    docAttr.Value   = Constants.CompanyDocAttr.getValue(UpdatedAttr, Culture);
                    docAttr.ValueId = UpdatedAttr.ValueId;
                }
                else
                {
                    var docAttr = new CompanyDocAttr();
                    docAttr.AttributeId = UpdatedAttr.Id;
                    docAttr.Value       = Constants.CompanyDocAttr.getValue(UpdatedAttr, Culture);
                    docAttr.ValueId     = UpdatedAttr.ValueId;
                    doc.CompanyDocAttrs.Add(docAttr);
                }
                //}
            }

            if (Model.Stream_Id == null)
            {
                hrUnitOfWork.CompanyDocsViewsRepository.Add(doc);
            }
        }
Example #2
0
        public ActionResult UpdateDocTypeAttr(IEnumerable <CompanyDocAttrViewModel> models, IEnumerable <OptionsViewModel> options)
        {
            var datasource = new DataSource <CompanyDocAttrViewModel>();

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

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    var errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm
                    {
                        CompanyId  = CompanyId,
                        ObjectName = "CompanyDocAttrs",
                        Columns    = Models.Utils.GetModifiedRows(ModelState.Where(a => a.Key.Contains("models"))),
                        Culture    = Language
                    });

                    if (errors.Count() > 0)
                    {
                        datasource.Errors = errors;
                        return(Json(datasource));
                    }
                }

                var oldCompDocAttr = _hrUnitOfWork.Repository <CompanyDocAttr>().Where(cd => cd.StreamId == models.FirstOrDefault().StreamId);
                foreach (CompanyDocAttrViewModel model in models)
                {
                    //--CompanyDocAttr
                    var companyDocAttr = oldCompDocAttr.FirstOrDefault(cd => cd.AttributeId == model.Id && cd.StreamId == model.StreamId);
                    //Don't save in CompanyDocAttr table if not exists and value == null
                    if (model.Insert && model.Value != null) //Add
                    {
                        companyDocAttr             = new CompanyDocAttr();
                        companyDocAttr.AttributeId = model.Id;
                        companyDocAttr.Value       = getValue(model);
                        companyDocAttr.ValueId     = model.ValueId;
                        companyDocAttr.StreamId    = (Guid)model.StreamId;

                        _hrUnitOfWork.LookUpRepository.Add(companyDocAttr);
                    }
                    else if (oldCompDocAttr != null) //Update
                    {
                        companyDocAttr.Value   = getValue(model);
                        companyDocAttr.ValueId = model.ValueId;

                        _hrUnitOfWork.LookUpRepository.Attach(companyDocAttr);
                        _hrUnitOfWork.LookUpRepository.Entry(companyDocAttr).State = EntityState.Modified;
                    }
                }
                datasource.Errors = SaveChanges(Language);
            }
            else
            {
                datasource.Errors = Models.Utils.ParseErrors(ModelState.Values);
            }

            if (datasource.Errors.Count() > 0)
            {
                return(Json(datasource));
            }
            else
            {
                return(Json(datasource.Data));
            }
        }
 public void Attach(CompanyDocAttr companyDocAttr)
 {
     context.CompanyDocAttrs.Attach(companyDocAttr);
 }
 public DbEntityEntry <CompanyDocAttr> Entry(CompanyDocAttr companyDocAttr)
 {
     return(Context.Entry(companyDocAttr));
 }
 public void Add(CompanyDocAttr companyDocAttr)
 {
     context.CompanyDocAttrs.Add(companyDocAttr);
 }