public string GuardarTemporada(Gpr_Temporada_InsercionDTO data) { data.UsuarioCreador = Session["Usuario"].ToString(); var request = new RestRequest("Gpr_Temporada", Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader("Content-type", "application/json"); request.AddJsonBody(data); var response = client.Execute <object>(request); return(JsonConvert.SerializeObject(response, Formatting.Indented, settings)); }
public async Task <IHttpActionResult> GuardarTemporada(Gpr_Temporada_InsercionDTO gpr_TemporadaI) { List <Gpr_Temporada> temporadasActivas = db.Gpr_Temporada.Where(X => X.IdGprGalpon == gpr_TemporadaI.IdGprGalpon && X.FechaFin == null).ToList(); Gpr_Galpon galpon = db.Gpr_Galpon.Where(X => X.IdGprGalpon == gpr_TemporadaI.IdGprGalpon).FirstOrDefault(); if (temporadasActivas.Count > 0) { return(Content(HttpStatusCode.BadRequest, "Sólo puede haber una temporada activa por galpón, ingrese una fecha de fin para la temporada actual.")); } if (galpon.CantidadAves < gpr_TemporadaI.CantidadAves) { return(Content(HttpStatusCode.BadRequest, "La cantidad de aves durante la temporada, no debe superar la capacidad del galpón.")); } Mapper.Initialize(cfg => cfg.CreateMap <Gpr_Temporada_InsercionDTO, Gpr_Temporada>()); Gpr_Temporada gpr_Temporada = Mapper.Map <Gpr_Temporada>(gpr_TemporadaI); gpr_Temporada.FechaCreacion = DateTime.Now; gpr_Temporada.Estado = true; gpr_Temporada.UsuarioCreador = gpr_TemporadaI.UsuarioCreador; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Gpr_Temporada.Add(gpr_Temporada); await db.SaveChangesAsync(); Gpr_Estado_Ave estadoAve = new Gpr_Estado_Ave(); estadoAve.CantidadAves = gpr_TemporadaI.CantidadAves; estadoAve.Estado = true; estadoAve.FechaCreacion = DateTime.Now; estadoAve.IdGprTemporada = gpr_Temporada.IdGprTemporada; estadoAve.IdGprTipoEstadoAve = 1; db.Gpr_Estado_Ave.Add(estadoAve); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = gpr_Temporada.IdGprTemporada }, gpr_Temporada)); //return Ok(GetGpr_Temporada(gpr_Temporada.IdGprTemporada)); }