public virtual IQueryable <TModel> GetAll(FilterParameters filter = null)
        {
            var entities = (filter == null || filter.PageNumber == default || filter.PageSize == default) ?
                           DbSet : DbSet.Skip((filter.PageNumber - 1) * filter.PageSize)
                           .Take(filter.PageSize);
            var models = Сonverter.ConvertTo(entities);

            return(models.AsQueryable());
        }
        public virtual void Delete(IEnumerable <TModel> models)
        {
            var entities = Сonverter.ConvertFrom(models);

            foreach (var entity in entities)
            {
                var foundEntity = DbSet.Find(entity.Id);

                if (foundEntity != null)
                {
                    DbSet.Remove(foundEntity);
                }
            }
        }
        private ProductEntity UpdateProductCategories(ProductModel model)
        {
            var productEntity = Сonverter.ConvertFrom(model);

            foreach (var productCategory in productEntity.ProductCategoryEntities)
            {
                var foundCategory = _categoryDbSet.FirstOrDefault(
                    c => c.Name == productCategory.Category.Name);

                if (foundCategory != null)
                {
                    productCategory.CategoryId = foundCategory.Id;
                    productCategory.Category   = foundCategory;
                }
            }

            return(productEntity);
        }
        public virtual IEnumerable <TModel> Create(IEnumerable <TModel> models)
        {
            var createdModels = new List <TModel>();

            foreach (var model in models)
            {
                var foundEntity = DbSet.Find(model.Id);

                if (foundEntity == null)
                {
                    var entity        = Сonverter.ConvertFrom(model);
                    var createdEntity = DbSet.Add(entity);
                    var createdModel  = Сonverter.ConvertTo(createdEntity.Entity);
                    createdModels.Add(createdModel);
                }
            }

            return(createdModels);
        }
        public override IEnumerable <ProductModel> Create(IEnumerable <ProductModel> models)
        {
            var createdModels = new List <ProductModel>();

            foreach (var model in models)
            {
                var foundProduct = DbSet.FirstOrDefault(p => p.Name == model.Name);

                if (foundProduct == null)
                {
                    var productEntity  = UpdateProductCategories(model);
                    var createdProduct = DbSet.Add(productEntity);
                    var createdModel   = Сonverter.ConvertTo(createdProduct.Entity);
                    createdModels.Add(createdModel);
                }
            }

            return(createdModels);
        }
Beispiel #6
0
        public override void Update(IEnumerable <CategoryModel> models)
        {
            var entities = Сonverter.ConvertFrom(models);
            var foundEntitiesToUpdate = new List <CategoryEntity>();

            foreach (var entity in entities)
            {
                var foundEntity = DbSet.Find(entity.Id);

                if (foundEntity != null)
                {
                    foundEntity.Name        = entity.Name;
                    foundEntity.Description = entity.Description;

                    foundEntitiesToUpdate.Add(foundEntity);
                }
            }

            DbSet.UpdateRange(foundEntitiesToUpdate);
        }
        public virtual TModel GetById(TId id)
        {
            var entity = DbSet.FirstOrDefault(entity => entity.Id.Equals(id));

            return(Сonverter.ConvertTo(entity));
        }