예제 #1
0
        public HttpResponseMessage PostProducts()
        {
            HttpResponseMessage responseMessage;

            try
            {
                var httpRequest  = HttpContext.Current.Request;
                var productToAdd = Newtonsoft.Json.JsonConvert.DeserializeObject <Products>(httpRequest.Form["data"]);
                db.Products.Add(productToAdd);
                db.SaveChanges();

                foreach (string fileName in httpRequest.Files)
                {
                    var          postedFile = httpRequest.Files[fileName];
                    Stream       fs         = postedFile.InputStream;
                    BinaryReader br         = new BinaryReader(fs);
                    var          bytes      = br.ReadBytes((int)fs.Length);
                    using (Stream memStream = new MemoryStream(bytes))
                    {
                        using (Image img = Image.FromStream(memStream))
                        {
                            ProductsImages imageEntity = new ProductsImages()
                            {
                                Id          = Guid.NewGuid(),
                                Name        = Encoding.ASCII.GetBytes(postedFile.FileName),
                                Data        = bytes,
                                Width       = img.Width,
                                Height      = img.Height,
                                Length      = bytes.Length,
                                ContentType = postedFile.ContentType,
                                ProductId   = productToAdd.ProductId,
                                Date        = DateTime.Now
                            };

                            db.ProductsImages.Add(imageEntity);
                        }

                        db.SaveChanges();
                    }
                }
            }
            catch (DbUpdateException)
            {
                responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest);
                return(responseMessage);
            }

            var json = new JSendMessage("success", "Product successfully added");

            responseMessage = Request.CreateResponse(HttpStatusCode.OK, json);
            return(responseMessage);
        }
예제 #2
0
 public async Task Add(ProductsImages item)
 {
     _dbContext.ProductsImages.Add(item);
     _dbContext.SaveChanges();
 }