/// <summary>
        /// Method Delete dalPhoto.
        /// </summary>
        /// <param name="dalCategory">Entity that need delete.</param>
        public void Delete(DalCategoryPhoto dalCategory)
        {
            var categoryPhoto = new CategoryPhoto()
            {
                Name = dalCategory.Name
            };

            context.Set <CategoryPhoto>().Remove(categoryPhoto);
        }
        /// <summary>
        /// Method Create create category entity.
        /// </summary>
        /// <param name="dalCategory">New category entity for create.</param>
        public void Create(DalCategoryPhoto dalCategory)
        {
            var categoryPhoto = new CategoryPhoto()
            {
                Name = dalCategory.Name
            };

            context.Set <CategoryPhoto>().Add(categoryPhoto);
        }
        /// <summary>
        /// Method GetByPredicate return DalCategoryPhoto by predicate.
        /// </summary>
        /// <param name="f">Predicate.</param>
        /// <returns>Return DalCategoryPhoto by predicate f.</returns>
        public DalCategoryPhoto GetByPredicate(Expression <Func <DalCategoryPhoto, bool> > f)
        {
            var convert = ExpressionConverter.Convert <DalCategoryPhoto, CategoryPhoto>(f);

            CategoryPhoto item = context.Set <CategoryPhoto>().SingleOrDefault(convert);

            return(new DalCategoryPhoto {
                Name = item.Name, Id = item.Id
            });
        }
        public int InsertImageOfCategory(CategoryPhoto photo)
        {
            using (var dataContext = new DataContext(_connectionString))
            {
                dataContext.GetTable <CategoryPhoto>().InsertOnSubmit(photo);
                dataContext.SubmitChanges();
            }

            return(photo.Id);
        }
        public void UpdateImageOfCategory(CategoryPhoto photo)
        {
            using (var dataContext = new DataContext(_connectionString))
            {
                CategoryPhoto dbPhoto = dataContext.GetTable <CategoryPhoto>().Single(p => p.CategoryId == photo.CategoryId);

                dbPhoto.Picture = photo.Picture;

                dataContext.SubmitChanges();
            }
        }
        /// <summary>
        /// Method Update update exists category.
        /// </summary>
        /// <param name="dalCategory">DalCategoryPhoto that need update.</param>
        public void Update(DalCategoryPhoto dalCategory)
        {
            var           actualCategory  = GetById(dalCategory.Id);
            CategoryPhoto updatedCategory = new CategoryPhoto()
            {
                Id   = actualCategory.Id,
                Name = actualCategory.Name
            };

            context.Set <CategoryPhoto>().Attach(updatedCategory);
            var category = context.Entry(updatedCategory);

            category.Property(ctg => ctg.Name).IsModified = true;
            context.SaveChanges();
        }