예제 #1
0
        public IHttpActionResult PostProduct(Product product)
        {
            product.IsAvailable = true;
            //guardamos la hora de londres
            product.PublishOn = DateTime.Now.ToUniversalTime();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (product.ImageArray != null && product.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(product.ImageArray);
                var guid     = Guid.NewGuid().ToString();
                var file     = $"{guid}.jpg";
                var folder   = "~/Content/Products";
                var fullPath = $"{folder}/{file}";
                var response = FIlesHelper.UploadPhoto(stream, folder, file);
                if (response)
                {
                    product.ImagePath = fullPath;
                }
            }


            db.Products.Add(product);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = product.ProductId }, product));
        }
예제 #2
0
        public IHttpActionResult PutProduct(int id, Product product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }



            if (id != product.ProductId)
            {
                return(BadRequest());
            }
            if (product.ImageArray != null && product.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(product.ImageArray);
                var guid     = Guid.NewGuid().ToString();
                var file     = $"{guid}.jpg";
                var folder   = "~/Content/Products";
                var fullPath = $"{folder}/{file}";
                var response = FIlesHelper.UploadPhoto(stream, folder, file);
                if (response)
                {
                    product.ImagePath = fullPath;
                }
            }

            db.Entry(product).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(product));
        }
예제 #3
0
        public IHttpActionResult PostUser(UserRequest userRequest)
        {
            if (userRequest.ImageArray != null && userRequest.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(userRequest.ImageArray);
                var guid     = Guid.NewGuid().ToString();
                var file     = $"{guid}.jpg";
                var folder   = "~/Content/Users";
                var fullPath = $"{folder}/{file}";
                var response = FIlesHelper.UploadPhoto(stream, folder, file);

                if (response)
                {
                    userRequest.ImagePath = fullPath;
                }
            }

            var answer = UsersHelper.CreateUserASP(userRequest);

            return(Ok(answer));
        }