public void SaveCategoryImage(SendingCategory sendingCategory)
        {
            const int BuffSize = 1000;

            if (sendingCategory == null)
            {
                return;
            }

            this.Validate(sendingCategory);

            var buffer = new byte[BuffSize];
            var memoryStream = new MemoryStream();

            var readed = sendingCategory.CategoryImage.Read(buffer, 0, BuffSize);

            while (readed != 0)
            {
                memoryStream.Write(buffer, 0, readed);
                readed = sendingCategory.CategoryImage.Read(buffer, 0, BuffSize);
            }

            var sourceCategory = this.categoriesDataService.GetByCategoryName(sendingCategory.CategoryName);
            sourceCategory.Picture = memoryStream.ToArray();

            this.categoriesDataService.UpdateCategoryPicture(sourceCategory);
        }
 public void SaveCategoryImage(SendingCategory sendingCategory)
 {
     try
     {
         this.SaveImage(sendingCategory.CategoryName, sendingCategory.CategoryImage);
     }
     catch (EntityNotFoundException exception)
     {
         throw new FaultException(new FaultReason(exception.Message), new FaultCode("Error"));
     }
 }
        protected void SaveCategoryImageNullCategoryNameFaultTest(string endpointConfigurationName)
        {
            using (var channel = new ChannelFactory<ICategoriesServiceChannel>(endpointConfigurationName))
            {
                var client = channel.CreateChannel();

                var sendingCategory = new SendingCategory
                                           {
                                               CategoryName = string.Empty,
                                               CategoryImage = new MemoryStream()
                                           };

                client.SaveCategoryImage(sendingCategory);
            }
        }
        private void Validate(SendingCategory category)
        {
            if (string.IsNullOrWhiteSpace(category.CategoryName))
            {
                throw new FaultException(new FaultReason("Category name is not defined."), new FaultCode("Error"));
            }

            try
            {
                 this.categoriesDataService.GetByCategoryName(category.CategoryName);
            }
            catch (EntityNotFoundException exception)
            {
                throw new FaultException(new FaultReason(exception.Message), new FaultCode("Error"));
            }
        }
        protected void SaveCategoryImageTest(string endpointConfigurationName)
        {
            using (var channel = new ChannelFactory<ICategoriesServiceChannel>(endpointConfigurationName))
            {
                var client = channel.CreateChannel();

                var names = client.GetCategoryNames();
                var categoryName = names.First();

                var readerStream = client.GetCategoryImage(categoryName);

                var memoryStream = this.ReadDataToMemoryStream(readerStream);
                memoryStream.Position = 0;

                var sendingCategory = new SendingCategory
                {
                    CategoryName = categoryName,
                    CategoryImage = memoryStream
                };

                client.SaveCategoryImage(sendingCategory);
            }
        }