public ResponseHelper InsertOrUpdate(Category model) { var rh = new ResponseHelper(); var newRecord = false; try { using (var ctx = _dbContextScopeFactory.Create()) { if (model.Id > 0) { var originalCategory = _categoryRepo.Single(x => x.Id == model.Id); originalCategory.Name = model.Name; originalCategory.Icon = model.Icon; originalCategory.Slug = Slug.Category(model.Id, model.Name); _categoryRepo.Update(originalCategory); } else { newRecord = true; _categoryRepo.Insert(model); } ctx.SaveChanges(); } if (newRecord) { using (var ctx = _dbContextScopeFactory.Create()) { var originalCategory = _categoryRepo.Single(x => x.Id == model.Id); originalCategory.Slug = Slug.Category(model.Id, model.Name); _categoryRepo.Update(originalCategory); ctx.SaveChanges(); } } Parameters.CategoryList = GetForMenu(); rh.SetResponse(true); } catch (Exception e) { logger.Error(e.Message); rh.SetResponse(false, e.Message); } return(rh); }