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)); }
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)); }
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, }); }
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 }); } }
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)); }