コード例 #1
0
        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)));
        }
コード例 #2
0
        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);
        }