예제 #1
0
        private Result ValidaUsuarioyPassword(EventoSimple eventosimple)
        {
            WS_CONTEXT db = new WS_CONTEXT();

            Result result = new Result();

            //Obtener el IdUsuario en base a Usuario y Contraseña y validarlo
            var resultado = db.WS_GPS_ValidaUsuarioyPassword(eventosimple.Usuario, eventosimple.Password, eventosimple.IMEI).ToList();

            result.Indicador          = resultado[0].Indicador;
            result.Mensaje            = resultado[0].Mensaje;
            result.IdRegistroAfectado = (int)resultado[0].IdRegistroAfectado;

            return(result);
        }
예제 #2
0
        public RespuestaServicio InsertaSimple(EventoSimple eventosimple, string ServicioOrigen = "")
        {
            RespuestaServicio respuesta  = new RespuestaServicio();
            string            DomainName = "";

            try
            {
                DomainName = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
            }
            catch (Exception Ex)
            {
                DomainName = "";
            }


            //Validaciones de datos

            respuesta.Indicador = 0;
            if (eventosimple.Usuario == "")
            {
                respuesta.Mensaje = "Error: El Usuario no puede estar vacio";
                var json = JsonConvert.SerializeObject(eventosimple);
                log.Error(respuesta.Mensaje + " - " + json);
                return(respuesta);
            }
            if (eventosimple.Password == "")
            {
                respuesta.Mensaje = "Error: El Password no puede estar vacio";
                var json = JsonConvert.SerializeObject(eventosimple);
                log.Error(respuesta.Mensaje + " - " + json);
                return(respuesta);
            }
            //if ((eventosimple.IdGrupo > 0) == false)
            //{
            //    respuesta.Mensaje = "Error: Debe indicar el IdGrupo que le asignaron";
            //    return respuesta;
            //}
            if (eventosimple.IMEI == "")
            {
                respuesta.Mensaje = "Error: El IMEI no puede estar vacio";
                var json = JsonConvert.SerializeObject(eventosimple);
                log.Error(respuesta.Mensaje + " - " + json);
                return(respuesta);
            }
            //if ((eventosimple.Lat > 0) == false)
            //{
            //    respuesta.Mensaje = "Error: Latitud incorrecta";
            //    var json = JsonConvert.SerializeObject(eventosimple);
            //    log.Error(respuesta.Mensaje + " - " + json);
            //    return respuesta;
            //}
            //if (eventosimple.Lng == 0)
            //{
            //    respuesta.Mensaje = "Error: Longitud incorrecta";
            //    var json = JsonConvert.SerializeObject(eventosimple);
            //    log.Error(respuesta.Mensaje + " - " + json);
            //    return respuesta;
            //}
            if (eventosimple.FechaHoraRecepcion <= DateTime.Today.AddDays(-3))
            {
                respuesta.Mensaje = "Error: La fecha es antigua, solo se permiten eventos recientes.";
                return(respuesta);
            }



            //Excepciones
            if (eventosimple.IMEI == "530ER7" && eventosimple.Usuario != "WS_Marloz")
            {
                eventosimple.Usuario  = "WS_Marloz";
                eventosimple.Password = "******";
            }


            //Si pasaron las validaciones intenta hacer el Insert
            try
            {
                Result result = ServicioOrigen == "RestApi" ? ValidaUsuario(eventosimple) : ValidaUsuarioyPassword(eventosimple);


                if (result.Indicador == 1)
                {
                    List <WS_GPS_InsertaSimple_Result> WS_GPS_InsertaSimple;

                    WS_CONTEXT db = new WS_CONTEXT();

                    WS_GPS_InsertaSimple = db.WS_GPS_InsertaSimple(eventosimple.Usuario, eventosimple.IMEI, eventosimple.CodigoEvento, eventosimple.Lat, eventosimple.Lng, eventosimple.Ubicacion, eventosimple.GPSValido, eventosimple.Velocidad, eventosimple.Direccion, eventosimple.NivelBateria, eventosimple.KMOdometro, eventosimple.FechaHoraGeneracion, eventosimple.FechaHoraRecepcion).ToList();
                    if (WS_GPS_InsertaSimple[0].Indicador == 1)
                    {
                        //Pasa el dato por socket a los clientes conectados solo si es en produccion
                        //if (DomainName.Contains("ws.") || DomainName.TrimEnd() == "http://ws.recsolutions.tech" )
                        //{
                        var context = GlobalHost.ConnectionManager.GetHubContext <GPSHub>();
                        context.Clients.All.broadCastMessage("Server", "GPS", eventosimple);
                        //}
                    }

                    if (WS_GPS_InsertaSimple[0].Indicador == 1)
                    {
                        respuesta.Indicador = 1;
                        respuesta.Mensaje   = "OK";
                        return(respuesta);
                    }
                    else
                    {
                        respuesta.Indicador = 0;
                        respuesta.Mensaje   = "Error: " + WS_GPS_InsertaSimple[0].Mensaje;
                        var json = JsonConvert.SerializeObject(eventosimple);
                        log.Error(respuesta.Mensaje + " - " + json);
                        return(respuesta);
                    }
                }
                else
                {
                    respuesta.Indicador = 0;
                    respuesta.Mensaje   = "Error: " + result.Mensaje;
                    var json = JsonConvert.SerializeObject(eventosimple);
                    log.Error(respuesta.Mensaje + " - " + json);
                    return(respuesta);
                }
            }
            catch (Exception Ex)
            {
                respuesta.Indicador = 0;
                respuesta.Mensaje   = "Error: " + Ex.Message;
                var json = JsonConvert.SerializeObject(eventosimple);
                log.Error(respuesta.Mensaje + " - " + json);
                return(respuesta);
            }
        }
예제 #3
0
        public RespuestaServicio InsertaSimple(EventoSimple eventosimple)
        {
            Negocio negocio = new Negocio();

            return(negocio.InsertaSimple(eventosimple, "WS"));
        }