public IHttpActionResult Embarrilar([FromBody] FermentadorModel fermentadorModel) { var ultimaCoccion = db.CoccionModels.Where(x => x.Fermentador.id == fermentadorModel.id && !x.FechaFin.HasValue).OrderByDescending(x => x.FechaCoccion).FirstOrDefault(); if (ultimaCoccion == null) { return(BadRequest("Este Fermentador no tiene coccion disponible")); } var fechaFinEmbarrilado = DateTime.Now; var diasEnTanque = Math.Round(fechaFinEmbarrilado.Subtract(ultimaCoccion.FechaCoccion.Value).TotalDays, MidpointRounding.AwayFromZero); var barriles = db.BarrilModels.Where(x => x.Coccion_id == ultimaCoccion.id); var latas = db.StockProductoModels.Where(x => x.Coccion.id == ultimaCoccion.id); var TotalLitrosBarriles = barriles.ToList().Sum(x => long.Parse(x.CantidadLitros)); var hayLatas = latas.Any(); var TotalLitrosLatas = hayLatas ? latas.Sum(x => x.Producto.Litros * x.Cantidad):0; var CantidadLatas = hayLatas ? latas.Sum(x => x.Cantidad) : 0; var Rendimiento = new { Latas = CantidadLatas, Barriles = barriles.Count(), TotalLitros = TotalLitrosBarriles + TotalLitrosLatas, DiasEnTanque = diasEnTanque }; ultimaCoccion.DetalleEmbarrilado = JsonConvert.SerializeObject(Rendimiento); ultimaCoccion.FechaFin = fechaFinEmbarrilado; db.SaveChanges(); return(Ok()); }
public IHttpActionResult GetFermentadorModel(int id) { FermentadorModel fermentadorModel = db.FermentadorModels.Find(id); if (fermentadorModel == null) { return(NotFound()); } return(Ok(fermentadorModel)); }
public IHttpActionResult PostFermentadorModel([FromBody] FermentadorModel fermentadorModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.FermentadorModels.Add(fermentadorModel); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = fermentadorModel.id }, fermentadorModel)); }
public IHttpActionResult DeleteFermentadorModel(int id) { FermentadorModel fermentadorModel = db.FermentadorModels.Find(id); if (fermentadorModel == null) { return(NotFound()); } db.FermentadorModels.Remove(fermentadorModel); db.SaveChanges(); return(Ok(fermentadorModel)); }
public IHttpActionResult PutFermentadorModel([FromBody] FermentadorModel fermentadorModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Entry(fermentadorModel).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return(BadRequest(ex.Message)); } return(StatusCode(HttpStatusCode.OK)); }