void IEmployeesHelper.AddProduct(Models.Employee.ItemModel model, List <HttpPostedFileBase> files) { //items var product = new items { Title = model.Item.Title, Price = model.Item.Price, Id_Category = model.SelectedCategory, Description = model.Item.Description }; //item details StringBuilder stringBulider = new StringBuilder(); for (int i = 0; i < model.DetailsItem.Count; i++) { if (!String.IsNullOrEmpty(model.DetailsItem[i])) { stringBulider.Append(model.DetailsItem[i]); stringBulider.Append(";"); } } stringBulider.Remove(stringBulider.Length - 1, 1); var itemDetails = new _dict_items_details { Name = stringBulider.ToString() }; //item quantity List <items_quantity> itemQuantity = new List <items_quantity>(); foreach (var quantity in model.Quantity) { itemQuantity.Add( new items_quantity { Id_Shop = quantity.Id_Shop, Quantity = quantity.Quantity }); } //item pictures List <items_picutures> itemPictures = new List <items_picutures>(); foreach (var file in files) { if (file.ContentType.Equals("image/jpeg")) { var picture = new items_picutures(); picture.PictureMimeType = file.ContentType; picture.PictureData = new byte[file.ContentLength]; file.InputStream.Read(picture.PictureData, 0, file.ContentLength); itemPictures.Add(picture); } } _employeeRepository.AddProduct(product, itemPictures, itemDetails, itemQuantity); }
/// <summary> /// Dane inicializujące podczas tworzenia bazy danych /// </summary> /// <param name="context">Zmienna bazowa</param> protected override void Seed(EFDbContext context) { var tablePath = AppDomain.CurrentDomain.BaseDirectory.Split(new string[] { "SportStore.Web" }, StringSplitOptions.RemoveEmptyEntries); string path = tablePath[0] + @"/SportStore.Domain/SqlFiles/Initialization"; var sqlFiles = Directory.GetFiles(path, "*.sql"); foreach (var file in sqlFiles) { context.Database.ExecuteSqlCommand(File.ReadAllText(file)); } //zdjęcia path = tablePath[0] + @"/SportStore.Domain/SqlFiles/Pictures"; var imageFiles = Directory.GetFiles(path, "*.jpg"); int iterator = 0; for (int i = 0; i < 11; i++) { for (int j = 0; j < 3; j++) { var image = new items_picutures { Id_Item = (i + 1), PictureData = HelperClass.Img2Byte(imageFiles[iterator]), PictureMimeType = "picture/jpeg" }; iterator++; context.ItemsPictures.Add(image); } } var random = new Random(); //ilosc itemów w sklepach for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 11; j++) { var quantity = new items_quantity { Id_Shop = i, Id_Item = j, Quantity = random.Next(1, 50) }; context.ItemsQuantity.Add(quantity); } } context.SaveChanges(); }
void IEmployeesHelper.EditProduct(Models.Employee.ItemModel model, HttpFileCollectionBase files) { //item var item = new items { Id = model.Item.Id, Title = model.Item.Title, Id_Category = model.SelectedCategory, Description = model.Item.Description, Id_Description = model.Item.Id_Description, Price = model.Item.Price }; //item details StringBuilder stringBulider = new StringBuilder(); for (int i = 0; i < model.DetailsItem.Count; i++) { if (!String.IsNullOrEmpty(model.DetailsItem[i])) { stringBulider.Append(model.DetailsItem[i]); stringBulider.Append(";"); } } stringBulider.Remove(stringBulider.Length - 1, 1); var itemDetails = new _dict_items_details { Id_Item = model.Item.Id, Name = stringBulider.ToString() }; //item quantity List <items_quantity> itemQuantity = new List <items_quantity>(); foreach (var quantity in model.Quantity) { itemQuantity.Add( new items_quantity { Id = quantity.Id, Id_Shop = quantity.Id_Shop, Quantity = quantity.Quantity }); } //item pictures List <items_picutures> itemPictures = new List <items_picutures>(); foreach (string file in files) { if (files[file].ContentType.Equals("image/jpeg")) { var picture = new items_picutures(); picture.PictureMimeType = files[file].ContentType; picture.PictureData = new byte[files[file].ContentLength]; files[file].InputStream.Read(picture.PictureData, 0, files[file].ContentLength); var ids = file.Split(new char[] { '-' }); picture.Id = int.Parse(ids[1]); itemPictures.Add(picture); } } _employeeRepository.EditProduct(item, itemPictures, itemDetails, itemQuantity); }