Exemplo n.º 1
0
        //maneja la seleccion de un medidor del listado para crear una nueva lectura
        private async void listView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            try
            {
                CtrlMedidor Manager    = new CtrlMedidor();                                //declarando una variable de la clase control medidor e intanciandola
                Object      ObjFila    = e.SelectedItem;                                   //asignar el objeto seleccionado a la variable de tipo object
                var         json       = JsonConvert.SerializeObject(ObjFila);             //declaramos una variable json, y serializo el objeto fila
                ClsMedidor  ObjMedidor = JsonConvert.DeserializeObject <ClsMedidor>(json); //transformamos ese json con jsonConver a un cls medidor
                var         consulta   = await Manager.Consultar(ObjMedidor.Id);           //en esta variable vamos a cargar lo que me trae del metodo consultar de la clase medidor por id

                ObjMedidor = consulta.First();                                             //aqui tenemos todos los datos cargados de mi clase medidor
                CtrlLectura ObjCtrlLectura = new CtrlLectura();                            //declamos una varible de tipo ctrllectura e intanciamos para usar sus metdos
                var         LecturaMes     = await ObjCtrlLectura.GetLecturaMedidorAsync(DateTime.Today, ObjMedidor.Id);

                if (LecturaMes == null)
                {
                    await((NavigationPage)this.Parent).PushAsync(new PagIngresoLectura(ObjMedidor, true)); //mostrar el formulario Ingresos de lecturas con los datos cargados para modificar o eliminar
                }
                else
                {
                    var resp = await DisplayAlert("Mensaje", "Desea Modificar", "si", "no");

                    if (resp)
                    {
                        await((NavigationPage)this.Parent).PushAsync(new PagIngresoLectura(LecturaMes, "edit")); //mostrar la vista para modificar una lectura con los datos cargados
                    }
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Mensaje", ex.Message, "ok");
            }
        }
Exemplo n.º 2
0
        //metodo que se ejecuta cuando se muestra la interfaz
        protected override async void OnAppearing()
        {
            base.OnAppearing();                             //es unmetodo que esta definido en los conten page, es porque vamos a personalizar
            CtrlLectura ObjCtrlLectura = new CtrlLectura(); //declaramos la variable y la  instanciamos de la clase CtrlLectura

            try
            {
                // cada vez que se muestre el menú se busca lecturas para sincronizar
                if (ObjCtrlLectura.Esta_Conectado())
                {
                    await SincronizarLecturasAsync();                    //traer lecturas del servidor remoto

                    ObjCtrlLectura.MiUsuario = ObjMiUsuario;             //cargamos los datos del usuario para que autentique.
                    var StrMensaje = await ObjCtrlLectura.Sincronizar(); //enviar lecturas al servidor remoto.

                    TxtConectado.Text      = "SI";
                    TxtSincronizacion.Text = StrMensaje;
                }
                else
                {
                    TxtConectado.Text      = "NO";
                    TxtSincronizacion.Text = "";
                }
            }
            catch (Exception ex)
            {
                TxtSincronizacion.Text = ex.Message;
            }
        }
Exemplo n.º 3
0
        ClsUsuario ObjMiUsuario;                                                     //declaramos una variable de tipo ClsUsuario

        public PagLecturas()                                                         //constructor Paglecturas
        {
            InitializeComponent();                                                   //inicializamos los componentes de la clase PagLecturas
            this.ObjMiUsuario  = App.Current.Properties["ObjUsuario"] as ClsUsuario; //
            ButSincr.IsVisible = false;                                              //Es para mostrar el botoncito de sincronizar
            listView.IsVisible = false;

            Manager = new CtrlLectura();//es una instancia de la clase control lectura para poder utilizar los metodos de esta clase
        }
Exemplo n.º 4
0
        protected async Task <bool> SincronizarLecturasAsync()//sincroniza lecturas
        {
            try
            {
                CtrlLectura ObjCtrlLectura = new CtrlLectura(); //instanciamo con un objeto de la clase control lecturas
                ObjCtrlLectura.MiUsuario = ObjMiUsuario;        //cargamos los datos del usuario para que autentique.
                bool IsValid = await ObjCtrlLectura.SincronizarAsync();

                return(IsValid);
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 5
0
        //controlador del selector de medidores
        private async void PkrNumeroMedidor_SelectedIndexChanged(object sender, EventArgs e)
        {
            ClsMedidor ObjMedidor = PkrNumeroMedidor.SelectedItem as ClsMedidor;                //asignar nueva instancia de clase medidor según el objeto seleccionado

            ObjMedidor.ObjPersona = ObjPersona;                                                 //asignar objeto persona a objeto medidor
            Obj.ObjMedidor        = ObjMedidor;                                                 //asignar variable local con objeto seleccionado
            CtrlLectura ObjCtrlLectura = new CtrlLectura();                                     //instancia de clase lectura
            var         ConsLectura    = await ObjCtrlLectura.ConsultarAnterior(ObjMedidor.Id); //consulta de lectura anterior

            if (ConsLectura != null)                                                            //si la lectura anterior no es nulo
            {
                if (ConsLectura.Count() != 0)
                {
                    ClsLectura ObjLecturaAnterior = ConsLectura.First(); //asignar lectura anterior a objeto lectura anterior
                    Obj.Anterior     = ObjLecturaAnterior.Actual;        //asignar campo anterior en objeto lectura según lectura del objeto lectura anterior
                    TxtAnterior.Text = Obj.Anterior.ToString();          //mostrar lectura anterior en caja de texto
                }
                else
                {
                    Obj.Anterior     = 0;//en caso que no haya lectura anterior parte de 0
                    TxtAnterior.Text = "0";
                }
            }
        }
Exemplo n.º 6
0
        //manejador del botón guardar
        private async void ButGuardar_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(LblNombres.Text) &&
                    PkrNumeroMedidor.SelectedItem != null &&
                    !string.IsNullOrWhiteSpace(txtConsumo.Text)    //validación de no nulos
                    )
                {
                    if (txtCedula.Text.Length == 10 &&
                        Obj.Actual > 0)//validación cedula con 10 caracteres
                    {
                        if (txtCedula.TextColor == Color.Green &&
                            txtLecturaActual.TextColor == Color.Green
                            )                                        //Validacíon formato correcto
                        {
                            CtrlLectura manager = new CtrlLectura(); //instancia de clase control
                            var         res     = "";
                            if (opc)
                            {
                                var ObjLecturaInsert = await manager.InsertAsync(Obj);//llamada a método que inserta un nuevo registro

                                if (ObjLecturaInsert != null)
                                {
                                    Obj        = ObjLecturaInsert.First(); //asignación de objeto local con datos recién ingresados
                                    txtId.Text = Obj.Id.ToString();        //mostrar id del registro creado
                                    res        = "ok";                     //respuesta positiva
                                }
                                else
                                {
                                    res = null;//respuesta negativa si no se realizó correctamente
                                }
                            }
                            else
                            {
                                res = await manager.UpdateAsync(Obj);//llamada al método actualizar
                            }
                            if (res != null)
                            {
                                await DisplayAlert("Mensaje", "Datos Guardados Correctamente", "ok");
                            }
                            else
                            {
                                await DisplayAlert("Mensaje", "No se guardó la información, vuelva a intentar más tarde", "ok");
                            }
                        }
                        else
                        {
                            await DisplayAlert("Mensaje", "Los campos de color rojo tienen formato incorrecto", "ok");
                        }
                    }
                    else
                    {
                        await DisplayAlert("Mensaje", "Faltan Datos Necesarios", "ok");
                    }
                }
                else
                {
                    await DisplayAlert("Mensaje", "Faltan Datos", "ok");
                }
            }
            catch (Exception e1)
            {
                await DisplayAlert("Mensaje", e1.Message, "ok");
            }
        }
Exemplo n.º 7
0
        protected override async void OnAppearing()//se ejecuta cuando se muestra esta interfaz
        {
            base.OnAppearing();
            this.ObjUsuario    = App.Current.Properties["ObjUsuario"] as ClsUsuario;//recuperar objeto guardado en propieades de la aplicación
            ObjLectura.User_id = ObjUsuario.Id;

            try
            {
                manager = new CtrlLectura();                 //instancia de clase control lectura
                if (nuevo)                                   //cuando se está creando una lectura nueva
                {
                    this.ObjCtrlPersona = new CtrlPersona(); //instancia la variable en objeto de la clase control persona (abonado)
                    var ListPersona = await ObjCtrlPersona.ConsultarId(this.ObjMedidor.Persona_id);

                    if (ListPersona.Count() > 0)
                    {
                        this.ObjPersona = ListPersona.First();
                        LblNombres.Text = this.ObjPersona.Nombre + " " + this.ObjPersona.Apellido;
                        txtCedula.Text  = this.ObjPersona.Cedula;
                    }

                    var LecturaAnterior = await manager.ConsultarAnterior(this.ObjMedidor.Id);

                    if (LecturaAnterior.Count == 1)
                    {
                        ClsLectura ObjLecAnterior = LecturaAnterior.First();
                        TxtAnterior.Text    = ObjLecAnterior.Actual.ToString();
                        ObjLectura.Anterior = ObjLecAnterior.Actual;
                    }
                }
                else

                {
                    if (opc == "ver")
                    {
                        //cuando se está consultando una lectura
                        ButGuardar.IsVisible = false;
                    }
                    this.ObjCtrlPersona = new CtrlPersona();
                    CtrlMedidor ObjCtrlMedidor = new CtrlMedidor();
                    var         ListMedidor    = await ObjCtrlMedidor.Consultar(this.ObjLectura.Medidor_id);

                    if (ListMedidor.Count() == 1)
                    {
                        this.ObjMedidor = ListMedidor.First();
                        var ListPersona = await ObjCtrlPersona.ConsultarId(this.ObjMedidor.Persona_id);

                        if (ListPersona.Count() == 1)
                        {
                            this.ObjPersona     = ListPersona.First();
                            LblNombres.Text     = this.ObjPersona.Nombre + " " + this.ObjPersona.Apellido;
                            txtCedula.Text      = this.ObjPersona.Cedula;
                            txtConsumo.Text     = this.ObjLectura.Consumo.ToString();
                            TxtObservacion.Text = this.ObjLectura.Observacion;
                            TxtAnterior.Text    = ObjLectura.Anterior.ToString();
                            lblCodigo.Text      = ObjMedidor.Codigo.ToString();
                            lblNumero.Text      = ObjMedidor.Numero.ToString();
                            if (ObjLectura.Image != null)
                            {
                                Imagen.Source = ObjLectura.Image;
                            }
                        }
                    }
                }
                recuperarpolitica();
            }
            catch (Exception ex)
            {
                await DisplayAlert("Mensaje", ex.Message, "ok");
            }
        }