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); } }