예제 #1
0
        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);
        }