public void Remove(Kafeel kafeel) { if (Context.Entry(kafeel).State == EntityState.Detached) { context.Kafeel.Attach(kafeel); } context.Kafeel.Remove(kafeel); }
public ActionResult UpdateKafeel(IEnumerable <KafeelViewModel> models, IEnumerable <OptionsViewModel> options) { var datasource = new DataSource <KafeelViewModel>(); var result = new List <Kafeel>(); datasource.Data = models; datasource.Total = models.Count(); bool updateOnly = true; if (ModelState.IsValid) { if (ServerValidationEnabled) { var errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm { CompanyId = CompanyId, ObjectName = "Kafeel", Columns = Models.Utils.GetModifiedRows(ModelState.Where(a => a.Key.Contains("models"))), Culture = Language }); if (errors.Count() > 0) { datasource.Errors = errors; return(Json(datasource)); } } var sequence = _hrUnitOfWork.Repository <Kafeel>().Select(a => a.Code).DefaultIfEmpty(0).Max(); var MaxCode = sequence == 0 ? 1 : sequence + 1; var ids = models.Select(a => a.Id); var db_Kafel = _hrUnitOfWork.Repository <Kafeel>().Where(a => ids.Contains(a.Id)).ToList(); for (var i = 0; i < models.Count(); i++) { // Create if (models.ElementAtOrDefault(i).Id == 0) { var kaf = new Kafeel(); AutoMapper(new AutoMapperParm() { ObjectName = "Kafeel", Destination = kaf, Source = models.ElementAtOrDefault(i), Version = 0, Options = options.ElementAtOrDefault(i), Transtype = TransType.Insert }); updateOnly = false; kaf.CreatedUser = UserName; kaf.CreatedTime = DateTime.Now; kaf.Code = MaxCode++; result.Add(kaf); _hrUnitOfWork.LookUpRepository.Add(kaf); } //Update else { Kafeel kafeel = db_Kafel.FirstOrDefault(a => a.Id == models.ElementAtOrDefault(i).Id); AutoMapper(new AutoMapperParm() { ObjectName = "Kafeel", Destination = kafeel, Source = models.ElementAtOrDefault(i), Version = 0, Options = options.ElementAtOrDefault(i), Transtype = TransType.Update }); kafeel.ModifiedUser = UserName; kafeel.ModifiedTime = DateTime.Now; _hrUnitOfWork.LookUpRepository.Attach(kafeel); _hrUnitOfWork.LookUpRepository.Entry(kafeel).State = EntityState.Modified; } } datasource.Errors = SaveChanges(Language); } else { datasource.Errors = Models.Utils.ParseErrors(ModelState.Values); } if (updateOnly) { datasource.Data = models; } else { datasource.Data = (from m in models join r in result on m.Name equals r.Name into g from r in g.DefaultIfEmpty() select new KafeelViewModel { Id = (r == null ? 0 : r.Id), Name = m.Name, Email = m.Email, Tel = m.Tel, Address = m.Address, Code = r.Code, AddressId = m.AddressId, }).ToList(); } if (datasource.Errors.Count() > 0) { return(Json(datasource)); } else { return(Json(datasource.Data)); } }
public void Attach(Kafeel Kafeel) { context.Kafeel.Attach(Kafeel); }
public DbEntityEntry <Kafeel> Entry(Kafeel Kafeel) { return(Context.Entry(Kafeel)); }
public void Add(Kafeel Kafeel) { context.Kafeel.Add(Kafeel); }