public IHttpActionResult GetRiegos(string idUnidadCultivo, string fecha)
        {
            try {
                DateTime dFecha      = DateTime.Parse(fecha);
                string   idTemporada = DB.TemporadaDeFecha(idUnidadCultivo, dFecha);
                if (idTemporada == null)
                {
                    return(BadRequest("La unidad de cultivo no está definida para la temporada"));
                }

                ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
                int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
                string         role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;
                if (!DB.EstaAutorizado(idUsuario, role, idUnidadCultivo, idTemporada))
                {
                    return(Unauthorized());
                }

                return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario.ToString(), () => {
                    return Json(DB.DatosRiegosList(idUnidadCultivo, idTemporada));
                }));
            } catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
        protected void Application_Start()
        {
            //Evito las referencias circulares al trabajar con Entity FrameWork
            GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling      = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
            GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;

            //SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

            //Elimino que el sistema devuelva en XML, sólo trabajaremos con JSON
            GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            //DB.PasswordSave(new LoginRequest { NifRegante = "ASAJA", Password = "******" });
            //DB.PasswordSave(new LoginRequest { NifRegante = "CIERZO", Password = "******" });
            //DB.PasswordSave(new LoginRequest { NifRegante = "AIMCRA", Password = "******" });
            var cronExp = "0 0 8 * * ?";// cada dia a las 8:00

            ScheduledTasks.JobScheduler.Start(cronExp).GetAwaiter().GetResult();
            DB.InsertaEvento("Aplicación Start at " + DateTime.Now.ToString());
#if DEBUG
#else
            CacheDatosHidricos.RecreateAll();
#endif
        }
        public IHttpActionResult GetUnidadCultivoList(string Fecha, string IdUnidadCultivo, string IdRegante, string IdCultivo, string IdMunicipio, string IdTipoRiego, string IdEstacion, string Search)
        {
            try {
                ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
                int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
                var            role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;

                var idTemporada = "";
                if (DateTime.TryParse(Fecha, out var dFecha))
                {
                    idTemporada = DB.TemporadaDeFecha(IdUnidadCultivo.Unquoted(), dFecha);
                }
                else
                {
                    idTemporada = DB.TemporadaActiva();
                }

                return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario.ToString(), () => {
                    var ret = Json(DB.UnidadCultivoList(idTemporada, IdUnidadCultivo, IdRegante, IdCultivo, IdMunicipio, IdTipoRiego, IdEstacion, Search, idUsuario, role));
                    return ret;
                }));
            } catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
 public IHttpActionResult PostUnidadCultivoTemporadaCosteM3Agua([FromBody] ParamPostCosteM3Agua param)
 {
     try {
         CacheDatosHidricos.SetDirty(param.IdUnidadCultivo);
         return(Json(DB.UnidadCultivoTemporadaCosteM3AguaSave(param)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #5
0
 public IHttpActionResult ReganteUpdate([FromBody] RegantePost regante)
 {
     try {
         DB.ReganteUpdate(regante);
         CacheDatosHidricos.SetDirtyContainsKey("/Regante");
         return(Ok(DB.ReganteUpdate(regante)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #6
0
 public IHttpActionResult GetReganteList(string Fecha, string IdRegante, string IdUnidadCultivo, string IdParcela, string Search)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.ReganteList(Fecha, IdRegante, IdUnidadCultivo, IdParcela, Search));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #7
0
 public IHttpActionResult Post([FromBody] PostDatosExtraParam param)
 {
     try {
         DB.DatosExtraSave(param);
         CacheDatosHidricos.SetDirty(param.IdUnidadCultivo);
         return(Ok(Newtonsoft.Json.JsonConvert.SerializeObject(param)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetListSuelos()
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.MateriaOrganicaTipoList());
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult Cultivos()
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.CultivosList());
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #10
0
 public IHttpActionResult Post([FromBody] EtapasPost param)
 {
     try {
         DB.FechaConfirmadaSave(param.IdUnidadCultivo, param.IdTemporada, param.nEtapa, DateTime.Parse(param.FechaStrConfirmada));
         CacheDatosHidricos.SetDirtyContainsKey("/Etapas");
         return(Ok());
     } catch {
         return(BadRequest());
     }
 }
Beispiel #11
0
 public IHttpActionResult GetMultimediaTipo(int?IdMultimediaTipo, string Search)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.MultimediaTipoList(IdMultimediaTipo, Search));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetList()
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.ElementosGruesosTipoList());
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult Recalcula()
 {
     try {
         CacheDatosHidricos.RecreateAll();
         return(Json("OK"));
     } catch (Exception ex) {
         CacheDatosHidricos.recalculando = false;
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetAsesorUnidadCultivo(int idRegante)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.AsesorUnidadCultivoList(idRegante));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult Get(string idUnidadCultivo)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             return Json(DB.UnidadCultivo(idUnidadCultivo));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult PostHorizonte([FromBody] ParamPostHorizonte param)
 {
     try {
         var idTemporada = DB.TemporadaDeFecha(param.IdUnidadCultivo, DateTime.Parse(param.Fecha));
         DB.UnidadCultivoSueloSave(param.IdUnidadCultivo, idTemporada, param.IdHorizonte, param.Limo, param.Arcilla, param.Arena, param.MatOrg, param.EleGru, param.Prof);
         CacheDatosHidricos.SetDirty(param.IdUnidadCultivo);
         return(Ok());
     } catch (Exception) {
         return(BadRequest());
     }
 }
 public IHttpActionResult PostPluviometria([FromBody] ParamPostPluviometria param)
 {
     try {
         var idTemporada = DB.TemporadaDeFecha(param.IdUnidadCultivo, DateTime.Parse(param.Fecha));
         DB.PluviometriaSave(idTemporada, param.IdUnidadCultivo, param.Valor);
         CacheDatosHidricos.SetDirty(param.IdUnidadCultivo);
         return(Ok());
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult UnidadCultivoTemporadaCosteM3Agua(string Fecha, string IdUnidadCultivo)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             var idTemporada = DB.TemporadaDeFecha(IdUnidadCultivo, DateTime.Parse(Fecha));
             return Json(DB.UnidadCultivoTemporadaCosteM3Agua(IdUnidadCultivo, idTemporada));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult UnidadCultivoSuelo([FromBody] ParamPostUnidadCultivoSuelo param)
 {
     try {
         var idTemporada = DB.TemporadaDeFecha(param.IdUnidadCultivo, DateTime.Parse(param.Fecha));
         DB.CultivoSueloSave(param.IdUnidadCultivo, idTemporada, param.IdSueloTipo);
         CacheDatosHidricos.SetDirty(param.IdUnidadCultivo);
         return(Ok());
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetBalanceHidrico(string idUnidadCultivo, string fecha, bool actualizaFechasEtapas)
 {
     try {
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             BalanceHidrico bh = BalanceHidrico.Balance(idUnidadCultivo, DateTime.Parse(fecha), actualizaFechasEtapas);
             var ret = Json(bh.LineasBalance);
             return ret;
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetHorizontes(string fecha, string idUnidadCultivo, string idHorizonte)
 {
     try {
         var idTemporada = DB.TemporadaDeFecha(idUnidadCultivo, DateTime.Parse(fecha));
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
             var ret = Json(DB.UnidadCultivoHorizonte(idTemporada, idUnidadCultivo, idHorizonte));
             return ret;
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetUnidadesDeCultivo(string fecha)
 {
     try {
         ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
         int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
         var            role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario.ToString(), () => {
             var lTemporadas = DB.TemporadasDeFecha(DateTime.Parse(fecha));
             return Json(DB.UnidadesDeCultivoList(lTemporadas, idUsuario, role));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
        public IHttpActionResult ResumenDiario(string idUnidadCultivo, string fecha)
        {
            try {
                DateTime dFecha = DateTime.Parse(fecha);

                return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath, () => {
                    BalanceHidrico bh = BalanceHidrico.Balance(idUnidadCultivo, dFecha);
                    System.Web.Http.Results.JsonResult <Models.ResumenDiario> ret = Json(bh.ResumenDiario(dFecha));
                    return ret;
                }));
            } catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
 public IHttpActionResult PostAsesorUnidadCultivo([FromBody] ParamAsesorUnidadCultivo param)
 {
     try {
         param.LUnidadesCultivo = param.LUnidadesCultivo.Replace(";", ",");
         var lUnidadesCultivo = param.LUnidadesCultivo.Split(',').ToList();
         foreach (var iuc in lUnidadesCultivo)
         {
             CacheDatosHidricos.SetDirty(iuc);
         }
         return(Json(DB.AsesorUnidadCultivoSave(param.IdRegante, lUnidadesCultivo)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #25
0
 public IHttpActionResult PostUnidadCultivoTemporadaCosteM3Agua([FromBody] Temporada temporada)
 {
     try {
         /*
          * ClaimsIdentity identity = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
          * bool isAdmin = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value == "admin";
          * if (isAdmin == false)
          *  return Unauthorized();
          */
         CacheDatosHidricos.ClearAll();
         return(Json(DB.TemporadaSave(temporada)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #26
0
 public IHttpActionResult PostMultimediaTipo([FromBody] Multimedia_Tipo multimediaTipo)
 {
     try {
         ClaimsIdentity identity = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
         bool           isAdmin  = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value == "admin";
         if (isAdmin == false)
         {
             return(Unauthorized());
         }
         CacheDatosHidricos.SetDirtyContainsKey("/Multimedia");
         return(Json(DB.MultimediaTipoSave(multimediaTipo)));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
        public IHttpActionResult GetDatosHidricosList(int?idRegante, string idUnidadCultivo, int?idMunicipio, string idCultivo, string fecha)
        {
            try {
                ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
                int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
                string         role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;

                return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario, () => {
                    object lDatosHidricos = BalanceHidrico.DatosHidricosList(idRegante, idUnidadCultivo, idMunicipio, idCultivo, fecha, role, idUsuario);
                    return Json(lDatosHidricos);
                }));
            } catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #28
0
 public IHttpActionResult Get(int idParcela)
 {
     try {
         ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
         int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
         var            role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario.ToString(), () => {
             if (!DB.EstaAutorizado(idUsuario, role, idParcela))
             {
                 return Unauthorized();
             }
             return Json(DB.Parcela(idParcela));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #29
0
 public IHttpActionResult Get()
 {
     try {
         ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
         int            IdUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
         bool           isAdmin   = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value == "admin";
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + IdUsuario.ToString(), () => {
             if (isAdmin == false)
             {
                 return BadRequest("La parcela no pertenece al regante");
             }
             return Json(DB.RegantesList());
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #30
0
 public IHttpActionResult Get(string idUnidadCultivo)
 {
     try {
         DateTime       dFecha    = DateTime.Now.Date;
         ClaimsIdentity identity  = Thread.CurrentPrincipal.Identity as ClaimsIdentity;
         int            idUsuario = int.Parse(identity.Claims.SingleOrDefault(c => c.Type == "IdRegante").Value);
         var            role      = identity.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Role).Value;
         return(CacheDatosHidricos.Cache(Request.RequestUri.AbsolutePath + "Usuario" + idUsuario.ToString(), () => {
             var idTemporada = DB.TemporadaDeFecha(idUnidadCultivo, dFecha);
             if (!DB.EstaAutorizado(idUsuario, role, idUnidadCultivo, idTemporada))
             {
                 return Unauthorized();
             }
             return Json(DB.DatosExtraList(idUnidadCultivo));
         }));
     } catch (Exception ex) {
         return(BadRequest(ex.Message));
     }
 }