Ejemplo n.º 1
0
        public async Task <IActionResult> GetFlowerAsync(FlowerRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var flower = await _dataContext.Flowers
                         .Include(f => f.Measurements)
                         .FirstOrDefaultAsync(f => f.Id.Equals(request.Id));

            var response = new FlowerResponse
            {
                Id           = flower.Id,
                Type         = flower.Type,
                VarietyName  = flower.VarietyName,
                BedName      = flower.BedName,
                Measurements = flower.Measurements?.Select(mea => new MeasurementResponse
                {
                    Measure     = mea.Measure,
                    MeasureDate = mea.MeasureDate,
                    Id          = mea.Id
                }).ToList(),
            };

            return(Ok(response));
        }
Ejemplo n.º 2
0
        public IHttpActionResult PostFlower(FlowerRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (request.ImageArray != null && request.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(request.ImageArray);
                var guid     = Guid.NewGuid().ToString(); //codigo irrepetible, se usa para ids
                var file     = string.Format("{0}.jpg", guid);
                var folder   = "~/Content/Images";
                var fullPath = string.Format("{0},{1}", folder, file);
                var response = FilesHelper.UploadPhoto(stream, folder, file);

                if (response)
                {
                    request.Image = fullPath;
                }
            }
            var flower = ToFlower(request);

            db.Flowers.Add(flower);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = flower.FlowerId }, flower));
        }
Ejemplo n.º 3
0
 private Flower ToFlower(FlowerRequest request)
 {
     return(new Flower
     {
         Description = request.Description,
         FlowerId = request.FlowerId,
         Image = request.Image,
         IsActive = request.IsActive,
         LastPurchase = request.LastPurchase,
         Observation = request.Observation,
         Price = request.Price,
     });
 }
Ejemplo n.º 4
0
        public async Task <Response <FlowerResponse> > GetFlowerAsync(
            string urlBase,
            string servicePrefix,
            string controller,
            string tokenType,
            string accessToken,
            int id)
        {
            try
            {
                var request = new FlowerRequest {
                    Id = id
                };
                var requestString = JsonConvert.SerializeObject(request);
                var content       = new StringContent(requestString, Encoding.UTF8, "application/json");
                var client        = new HttpClient
                {
                    BaseAddress = new Uri(urlBase)
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken);
                var url      = $"{servicePrefix}{controller}";
                var response = await client.PostAsync(url, content);

                var result = await response.Content.ReadAsStringAsync();

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response <FlowerResponse>
                    {
                        IsSuccess = false,
                        Message = result,
                    });
                }

                var fl = JsonConvert.DeserializeObject <FlowerResponse>(result);
                return(new Response <FlowerResponse>
                {
                    IsSuccess = true,
                    Result = fl
                });
            }
            catch (Exception ex)
            {
                return(new Response <FlowerResponse>
                {
                    IsSuccess = false,
                    Message = ex.Message
                });
            }
        }
Ejemplo n.º 5
0
        public IHttpActionResult PutFlower(int id, FlowerRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != request.FlowerId)
            {
                return(BadRequest());
            }

            if (request.ImageArray != null && request.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(request.ImageArray);
                var guid     = Guid.NewGuid().ToString(); //codigo irrepetible, se usa para ids
                var file     = string.Format("{0}.jpg", guid);
                var folder   = "~/Content/Images";
                var fullPath = string.Format("{0},{1}", folder, file);
                var response = FilesHelper.UploadPhoto(stream, folder, file);

                if (response)
                {
                    request.Image = fullPath;
                }
            }

            var flower = ToFlower(request);

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }