예제 #1
0
        private void Agregar_Click(object sender, EventArgs e)
        {
            try
            {
                servicioCheckDB coneccion = new servicioCheckDB();

                EditText observaciones = Activity.FindViewById <EditText>(Resource.Id.txtObservaciones);

                servicioCheckDB.ReintentoNotificacion reintento = new servicioCheckDB.ReintentoNotificacion();

                reintento.Descripcion     = observaciones.Text;
                reintento.CodNotificacion = Convert.ToInt32(codigoNotificacionReintento);

                DateTime localDate = DateTime.Now;
                string   output    = localDate.ToString("o");
                Console.WriteLine("HORA de reintento" + output);

                reintento.Fecha = Convert.ToDateTime(output);
                //reintento.Fecha = Convert.ToDateTime("2016 - 09 - 26T17: 06:03.537");


                servicioCheckDB.OficialNotificador oficial = new servicioCheckDB.OficialNotificador();
                oficial.CodNotificador       = FragmentLogin.codNotificador;
                reintento.OficialNotificador = oficial;

                servicioCheckDB.GeoLocalizacion ubicacion = new servicioCheckDB.GeoLocalizacion();
                ubicacion.Latitud    = servicioLocalizacion.latitud;
                ubicacion.Longitud   = servicioLocalizacion.longitud;
                ubicacion.Aproximado = true;
                reintento.Ubicacion  = ubicacion;

                string json      = Newtonsoft.Json.JsonConvert.SerializeObject(reintento);
                bool   respuesta = coneccion.envioDatosWeb("https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/ReintentoNotificacion/GuardarReintentoNotificacion", json, Activity);

                if (respuesta)
                {
                    observaciones.Text = "";
                    Toast.MakeText(Activity, "Registro guardado correctamente.", ToastLength.Short).Show();
                }
                else
                {
                    Toast.MakeText(Activity, "Error al guardar el registro.", ToastLength.Short).Show();
                }
            }
            catch (Exception ex)
            {
                //Se guarda el detalle del error
                Logs.saveLogError("ReintentoNotificacion.Agregar_click " + ex.Message + " " + ex.StackTrace);
            }
        }
예제 #2
0
        public void cargarListaReintentos()
        {
            try
            {
                servicioCheckDB coneccion = new servicioCheckDB();

                var listaReintentos = coneccion.ObtenerListaStrings("https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/ReintentoNotificacion/ListarReintentosNotificacion?PCodNotificacion=" + codigoNotificacionReintento + "", Activity);

                if (listaReintentos != null)
                {
                    TableLayout tablaReintentos = Activity.FindViewById <TableLayout>(Resource.Id.tbNotificadores);

                    TableRow nuevaFila;
                    TableLayout.LayoutParams layoutParams = new TableLayout.LayoutParams(TableLayout.LayoutParams.MatchParent, TableLayout.LayoutParams.MatchParent);

                    for (int k = 0; k < listaReintentos.Count; k++)
                    {
                        nuevaFila = new TableRow(Activity);                                    //Se instancia la nueva fila
                        nuevaFila.LayoutParameters = layoutParams;                             //Se agregan los tamaños del layout
                        nuevaFila.SetPadding(5, 5, 5, 5);                                      //Se agregan los margenes de cada fila
                        nuevaFila.SetBackgroundColor(Android.Graphics.Color.Argb(2, 1, 0, 5)); //Se cambia el color del fondo
                        nuevaFila.Clickable = true;

                        TextView descripcion = new TextView(Activity);
                        descripcion.Text = listaReintentos[k]["Descripcion"].ToString();
                        nuevaFila.AddView(descripcion);

                        TextView fecha = new TextView(Activity);
                        fecha.Text = listaReintentos[k]["Fecha"].ToString();
                        nuevaFila.AddView(fecha);

                        TextView nombre = new TextView(Activity);
                        nombre.Text = listaReintentos[k]["OficialNotificador"]["NombreCompleto"].ToString();
                        nuevaFila.AddView(nombre);

                        tablaReintentos.AddView(nuevaFila);
                    }
                }
            }catch (Exception ex)
            {
                //Se guarda el detalle del error
                Logs.saveLogError("ReintentoNotificacion.cargarListaReintentos" + ex.Message + " " + ex.StackTrace);
            }
        }
예제 #3
0
        private void HandleButtonClick(object sender, DialogClickEventArgs e)
        {
            try
            {
                //Se procede a cerrar la sesion, primero se procede a determinar la lista de las
                //notificaciones que se encuentran en estado notificandose.
                string          consulta   = @"https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/Notificaciones/ListarNotificacionesPorNotificadorEstado?POficina=" + FragmentLogin.codOficina + "&PCodNotificador=" + FragmentLogin.codNotificador + "&PEstado=2&PJornada=3";
                servicioCheckDB coneccion  = new servicioCheckDB();
                var             resultados = coneccion.ObtenerListaStrings(consulta, this);

                if (resultados != null)
                {
                    string   fechaApertura = "";
                    DateTime localDate     = DateTime.Now;
                    //string fechalineal = localDate.ToString("yyyyMMdd");
                    string fechaCompleja = localDate.ToString("o");

                    List <string> notificacionesPendientes = new List <string>();
                    for (int k = 0; k < resultados.Count; k++)
                    {
                        notificacionesPendientes.Add(resultados[k]["CodNotificacion"].ToString());
                    }

                    // se extrae de la base de datos la fecha de apertura
                    ManejoBaseDatos.Abrir();

                    ICursor mCursor = ManejoBaseDatos.Seleccionar("SELECT FechaHoraApertura FROM Autenticacion");
                    if (mCursor.MoveToFirst() && mCursor.Count == 1)
                    {
                        do
                        {
                            fechaApertura = mCursor.GetString(0);
                            Console.WriteLine("fecha de Apertura: " + fechaApertura);
                        }while (mCursor.MoveToNext());
                    }
                    else
                    {
                        //Se genera una fecha de apertura
                        fechaApertura = fechaCompleja;
                    }

                    mCursor.Close();
                    ManejoBaseDatos.Cerrar();
                    //se crea la instancial de la clase cierreJornada

                    CierreJornada cierre = new CierreJornada()
                    {
                        codigo             = Guid.NewGuid().ToString(),
                        Apertura           = fechaApertura,
                        OficialNotificador = new OficialNotificador
                        {
                            CodNotificador = FragmentLogin.codNotificador,
                        },
                        Notificaciones = new List <NotificacionFisica>(),
                        Justificacion  = "",
                        Cierre         = fechaCompleja,
                    };

                    foreach (var codigoNotificacion in notificacionesPendientes)
                    {
                        cierre.Notificaciones.Add(new NotificacionFisica {
                            CodNotificacion = Convert.ToInt32(codigoNotificacion)
                        });
                    }

                    string requestCierre = @"https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/OficialNotificador/CierreJornadaOficialNotificador";
                    string json          = Newtonsoft.Json.JsonConvert.SerializeObject(cierre);
                    Console.WriteLine("JSON: " + json);

                    bool respuesta = coneccion.envioDatosWeb(requestCierre, json, this);
                    if (respuesta)
                    {
                        //observaciones.Text = "";
                        Toast.MakeText(this, "Cierre de apertura exitoso.", ToastLength.Short).Show();
                        //Se dirige al usuario a la pagina de buzones donde podra realizar el inicio de apertura.
                    }
                    else
                    {
                        Toast.MakeText(this, "Error al intentar cerar apertura.", ToastLength.Short).Show();
                    }
                }
            }
            catch (Exception ex) { Console.WriteLine("Error en manejo de boton positivo: " + ex.ToString()); }
        }
예제 #4
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            // return inflater.Inflate(Resource.Layout.YourFragment, container, false);
            //return base.OnCreateView(inflater, container, savedInstanceState);


            View view = inflater.Inflate(Resource.Layout.fragmentLogin, container, false);

            ((MainActivity)Activity).habilitarMenuLateral(false);
            ((MainActivity)Activity).cambiarTituloAplicacion("Autenticación de usuario");

            Button   btnLogin      = view.FindViewById <Button>(Resource.Id.btnLogin);
            EditText txtUsuario    = view.FindViewById <EditText>(Resource.Id.txtUsuario);
            EditText txtContrasena = view.FindViewById <EditText>(Resource.Id.txtPassword);

            TextInputLayout passwordWrapper = view.FindViewById <TextInputLayout>(Resource.Id.txtInputLayoutPassword);
            string          txtPassword     = passwordWrapper.EditText.Text;
            Context         context;

            context            = view.Context;
            txtUsuario.Text    = "";
            txtContrasena.Text = "";

            txtUsuario.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) =>
            {
                usuario = e.Text.ToString();
            };

            txtContrasena.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) =>
            {
                contrasena = e.Text.ToString();
            };

            if (!coneccionInternet.verificaConeccion(this.Context))
            {
                AlertDialog.Builder alerta = new AlertDialog.Builder(this.Context);
                alerta.SetTitle("Mensaje de alerta");
                alerta.SetIcon(Resource.Drawable.alertaNuevo);
                alerta.SetMessage("El servicio de Internet no se encuentra disponible, por favor revise su conexión e intente ingresar nuevamente");
                alerta.SetNegativeButton("Salir", HandleButtonClick);
                alerta.SetCancelable(false);
                alerta.Create();
                alerta.Show();
            }

            //se limpia la tabla de Oficial Notificador
            ManejoBaseDatos.CrearDB();
            ManejoBaseDatos.Abrir();
            List <string> tablas = new List <string>();

            tablas.Add("OficialNotificador");
            ManejoBaseDatos.BorrarTablas(tablas);
            ManejoBaseDatos.Cerrar();

            btnLogin.Click += (o, e) =>
            {
                try
                {
                    if (!string.IsNullOrEmpty(usuario) && (contrasena.Equals("12345", StringComparison.Ordinal)) && (usuario.Equals("supervisor", StringComparison.Ordinal) || usuario.Equals("demo", StringComparison.Ordinal)))
                    {
                        string query = @"https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/OficialNotificador/ConsultarOficialNotificador?PCodNotificador=" + usuario + "";
                        if (coneccionInternet.verificaConeccion(this.Context))
                        {
                            try
                            {
                                WebRequest request = HttpWebRequest.Create(query);
                                request.ContentType = "application/json";
                                request.Method      = "GET";
                                string content = "";

                                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                                {
                                    if (response.StatusCode != HttpStatusCode.OK)
                                    {
                                        Console.Out.WriteLine("Error fetching data. Server returned status code: {0}", response.StatusCode);
                                    }
                                    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                                    {
                                        content = reader.ReadToEnd();

                                        if (string.IsNullOrWhiteSpace(content))
                                        {
                                            Console.Out.WriteLine("fzeledon -- Response contained empty body...");
                                        }
                                        else
                                        {
                                            try
                                            {
                                                var jsonParsed = JObject.Parse(content);
                                                codOficina     = jsonParsed["Oficinas"][0]["Codigo"].ToString();
                                                supervisor     = jsonParsed["Supervisor"].ToString();
                                                rolNocturno    = jsonParsed["RolNocturno"].ToString();
                                                codNotificador = jsonParsed["CodNotificador"].ToString();
                                                cuotaMinima    = jsonParsed["Oficinas"][0]["CuotaMinima"].ToString();

                                                ManejoBaseDatos.Abrir();
                                                ManejoBaseDatos.Insertar("OficialNotificador", "Activo,CodigoNotificador,DespachoCodigo,Supervisor,RolNocturno", "'" + jsonParsed["Activo"].ToString() + "','" + jsonParsed["CodNotificador"].ToString() + "','" + jsonParsed["Oficinas"][0]["Codigo"].ToString() + "','" + jsonParsed["Supervisor"].ToString() + "','" + jsonParsed["RolNocturno"].ToString() + "'");
                                                ManejoBaseDatos.Cerrar();

                                                //se realiza la comprobacion si se tiene una sesion abierta

                                                servicioCheckDB coneccion     = new servicioCheckDB();
                                                var             sesionAbierta = coneccion.ObtenerString("https://pjgestionnotificacionmovilservicios.azurewebsites.net/api/OficialNotificador/OficialConCierrePendiente?PCodNotificador=" + codNotificador + "", Activity);
                                                //   "\"\""
                                                if (!sesionAbierta.Equals("\"\"", StringComparison.Ordinal))
                                                {
                                                    Console.WriteLine("Sesion abierta");
                                                    AlertDialog.Builder alerta = new AlertDialog.Builder(this.Context);
                                                    alerta.SetTitle("Mensaje de alerta");
                                                    alerta.SetIcon(Resource.Drawable.alertaNuevo);
                                                    alerta.SetMessage("El usuario tiene una jornada abierta.");
                                                    alerta.SetPositiveButton("Cerrar jornada", HandlePositiveButtonClick);
                                                    alerta.SetNegativeButton("Continuar", HandleButonContinuar);
                                                    alerta.SetCancelable(false);
                                                    alerta.Create();
                                                    alerta.Show();
                                                }
                                                else
                                                {
                                                    // se inicia la carga de datos para la actividad de buzones(mailboxes) a traves de la actividad splash
                                                    Toast.MakeText(this.Activity, "Cargando Datos ", ToastLength.Long).Show();
                                                    Intent intent = new Intent(this.Activity, typeof(SplashActivity));
                                                    StartActivity(intent);
                                                }
                                            }
                                            catch (Exception ex) { Console.WriteLine("Error descargando datos de usuario: " + ex.ToString()); }
                                        }
                                    }
                                }
                            }
                            catch (WebException webEx) { Console.WriteLine("Error en solicitud Web: " + webEx.ToString()); }
                        }
                        else
                        {
                            AlertDialog.Builder alerta = new AlertDialog.Builder(this.Context);
                            alerta.SetTitle("Mensaje de alerta");
                            alerta.SetIcon(Resource.Drawable.alertaNuevo);
                            alerta.SetMessage("El servicio de Internet no se encuentra disponible, por favor revise su conexión e intente ingresar nuevamente");
                            alerta.SetNegativeButton("Salir", HandleButtonClick);
                            alerta.SetCancelable(false);
                            alerta.Create();
                            alerta.Show();
                        }
                    }
                    else
                    {
                        Toast.MakeText(this.Activity, "Usted ha digitado un usuario y contraseña incorrecta.", ToastLength.Short).Show();
                    }
                }
                catch (Exception ex) { Console.WriteLine("Error en autenticación " + ex.ToString()); }
            };

            return(view);
        }