public JsonResult AddArticleImage(int Id, ICollection <IFormFile> newimages) { //просто пишем изображение в бд Image image = new Image { Id = 0, IsMain = true, Description = "", ImageMimeType = newimages.ToList()[0].ContentType, }; using (var reader = new StreamReader(newimages.ToList()[0].OpenReadStream())) { Stream stream = reader.BaseStream; Byte[] inArray = new Byte[(int)stream.Length]; stream.Read(inArray, 0, (int)stream.Length); image.ImageContent = inArray; if (Id != 0) { image.Articles.Add(new RelGoodImage { ImageId = image.Id, GoodId = Id }); } } //картинки в бд return(Json(_repositoryImage.SaveImage(image))); }
public Good SaveGood(Good good, Company company, ICollection <IFormFile> newimages) { if (good.Id != 0)//если изменение позиции { _ctx.Entry(good).State = EntityState.Modified; _ctx.SaveChanges(); } else //если новая позиция { _ctx.Goods.Add(good); _ctx.SaveChanges(); //теперь создаем обхъкт связку товар - магазин RelCompanyGood rsg = new RelCompanyGood() { Good = good, GoodId = good.Id, Company = company, CompanyId = company.Id }; //добавляем объект связку в товар good.Companies.Add(rsg); } //удаляем //сначала добавляем картинки в бд и тут же в коллекцию изображений товара foreach (IFormFile im in newimages) { Image newim = new Image { Id = 0, IsMain = true, Description = "", ImageMimeType = im.ContentType, GoodId = good.Id }; using (var reader = new StreamReader(im.OpenReadStream())) { Stream stream = reader.BaseStream; Byte[] inArray = new Byte[(int)stream.Length]; stream.Read(inArray, 0, (int)stream.Length); newim.ImageContent = inArray; } //*картинки в бд _repositoryImage.SaveImage(newim); //*тут же в коллекцию изображений товара good.Images.Clear(); good.Images.Add(newim); } //созраняемся _ctx.Entry(good).State = EntityState.Modified; _ctx.SaveChanges(); return(good); }