Пример #1
0
        //manejador del boton listar
        private async void Button_ClickedAsync(object sender, EventArgs e)//boton para consultar lecturas, es un controlador
        {
            try
            {
                listView.IsVisible = true;
                CtrlMedidor ObjMedidor = new CtrlMedidor(); //declarando una variable de la clase control medidro e intanciandola
                CtrlPersona ObjPersona = new CtrlPersona(); //declarando una variable de la clase control persona e intanciandola
                var         lecturas   = await Manager.Get();

                var medidores = await ObjMedidor.Consultar(ObjMiUsuario.Sector);

                var personas = await ObjPersona.Consultar();

                var result = from lect in lecturas                                  //hacemos una consulta con la variable lect, en la tabla que está cargada de la tabla lecturas
                             join med in medidores on lect.Medidor_id equals med.Id //utilizo el join cuando estoy consultando en varias tablas,
                             join per in personas on med.Persona_id equals per.Id
                             select new
                {
                    lect.Id,
                    lect.Fecha,
                    per.Nombre,
                    per.Apellido,
                    lect.Anterior,
                    lect.Actual,
                    lect.Latitud,
                    lect.Longitud,
                    lect.Consumo
                };
                listView.ItemsSource = result;
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "ok");
            }
        }
Пример #2
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");
            }
        }
Пример #3
0
        //maneja boton consultar medidores del sector asignadoal usuario
        private async void ButConsultaMedidores_ClickedAsync(object sender, EventArgs e)
        {
            CtrlMedidor Manager = new CtrlMedidor();

            try
            {
                await SincronizarMedidoresAsync();

                CtrlMedidor ObjMedidor = new CtrlMedidor();
                CtrlPersona ObjPersona = new CtrlPersona();
                var         medidores  = await ObjMedidor.Consultar(ObjMiUsuario.Sector);

                var personas = await ObjPersona.Consultar();

                var result = from med in medidores
                             join per in personas on med.Persona_id equals per.Id
                             select new
                {
                    med.Id,
                    med.Codigo,
                    per.Nombre,
                    per.Apellido,
                    med.Numero,
                    med.Marca,
                    med.Modelo,
                    med.Sector
                };
                listView.ItemsSource = result;
                listView.IsVisible   = true;
            }
            catch (Exception ex)
            {
                await DisplayAlert("Mensaje", ex.Message, "ok");
            }
        }
Пример #4
0
        protected async Task <bool> SincronizarMedidoresAsync()//sincroniza medidores asignado al usuario de ese sector
        {
            try
            {
                CtrlMedidor ObjCtrlMedidor = new CtrlMedidor();
                ObjCtrlMedidor.MiUsuario = ObjMiUsuario;//cargamos los datos del usuario para que autentique.
                bool IsValid = await ObjCtrlMedidor.SincronizarAsync();

                return(IsValid);
            }
            catch
            {
                return(false);
            }
        }
Пример #5
0
        //controlador del botón listar
        private async void BtnListar_Clicked(object sender, EventArgs e)
        {
            try
            {
                CtrlMedidor manager = new CtrlMedidor();                       //instanciar controlador
                var         res     = await manager.Consultar(TxtNumero.Text); //llamada al metodo consultar pasando como parámetro el número ingresado en la caja de texto

                if (res != null)                                               //si la respuesta es no nulo
                {
                    lstMedidores.ItemsSource = res;                            //cargar en el lista los objetos consultados en la base de datos
                }
            }
            catch (Exception e1)//control de errores
            {
                await DisplayAlert("Mensaje", e1.Message, "ok");
            }
        }
Пример #6
0
        //controlador del boton consultar
        private async void ButConsultaPersona_Clicked(object sender, EventArgs e)
        {
            ObjCtrlPersona = new CtrlPersona();                                 //instancia de clase clspersona
            var ConsPersona = await ObjCtrlPersona.ConsultarCi(txtCedula.Text); //consulta persona por cédula ingresadda

            if (ConsPersona != null)                                            //si se ha encontrado la persona
            {
                ObjPersona      = ConsPersona.First();                          //asignar objeto local con datos consultados
                LblNombres.Text = ObjPersona.Nombres + " " + ObjPersona.Apellidos;
                ObjCtrlMedidor  = new CtrlMedidor();
                var ConsMedidor = await ObjCtrlMedidor.ConsultarIdPersona(ObjPersona.Id); //consulta de medidores por id de persona

                if (ConsMedidor != null)                                                  //si existen datos
                {
                    PkrNumeroMedidor.ItemsSource = ConsMedidor.ToList();                  //cargar lista de objeto en selector
                }
            }
        }
Пример #7
0
        //método para eliminar un registro
        private async void ButEliminar_Clicked(object sender, EventArgs e)
        {
            CtrlMedidor manager = new CtrlMedidor();

            if (txtId.Text.Length != 0)                          //validar id no vacío
            {
                var res = await manager.DeleteAsync(ObjMedidor); //llamada a método eliminar

                if (res != null)
                {
                    await DisplayAlert("Mensaje", "Datos Eliminados Correctamente", "ok");
                }
                else
                {
                    await DisplayAlert("Mensaje", "No se eliminó la información, vuelva a intentar más tarde", "ok");
                }
            }
        }
Пример #8
0
        private async void BuscarPorFecha_Clicked(object sender, EventArgs e)
        {
            try
            {
                int mes, año;
                mes = numeromes(Seleccionarmes.SelectedItem.ToString());
                int.TryParse(Seleccionaraño.SelectedItem.ToString(), out año);
                if (mes != 0 && año != 0)
                {
                    listView.IsVisible = true;
                    CtrlMedidor ObjMedidor = new CtrlMedidor(); //declarando una variable de la clase control medidor e intanciandola
                    CtrlPersona ObjPersona = new CtrlPersona(); //declarando una variable de la clase control persona e intanciandola
                    var         lecturas   = await Manager.Get();

                    var medidores = await ObjMedidor.Consultar(ObjMiUsuario.Sector);

                    var personas = await ObjPersona.Consultar();

                    var result = from lect in lecturas                                  //hacemos una consulta con la variable lect, en la tabla que está cargada de la tabla lecturas
                                 join med in medidores on lect.Medidor_id equals med.Id //utilizo el join cuando estoy consultando en varias tablas,
                                 join per in personas on med.Persona_id equals per.Id
                                 where lect.Fecha.Month == mes && lect.Fecha.Year == año
                                 select new
                    {
                        lect.Id,
                        lect.Fecha,
                        per.Nombre,
                        per.Apellido,
                        lect.Anterior,
                        lect.Actual,
                        lect.Latitud,
                        lect.Longitud,
                        lect.Consumo,
                        lect.Image
                    };
                    listView.ItemsSource = result;
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", ex.Message, "ok");
            }
        }
Пример #9
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");
            }
        }
Пример #10
0
        private async void ButGuardar_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(txtNumero.Text) &&
                    !string.IsNullOrWhiteSpace(txtCodigo.Text) &&
                    !string.IsNullOrWhiteSpace(txtidPersona.Text)    //validación de no nulos
                    )
                {
                    if (ObjMedidor.Numero.Length > 0 &&
                        ObjMedidor.Codigo.Length > 0 &&
                        ObjMedidor.ObjPersona.Id > 0)//validación de no vacío
                    {
                        if (txtNumero.TextColor == Color.Green &&
                            txtCodigo.TextColor == Color.Green &&
                            txtidPersona.TextColor == Color.Green//validación de formato correcto
                            )
                        {
                            CtrlMedidor manager = new CtrlMedidor();//instancia de clase control
                            var         res     = "";

                            if (opc)
                            {
                                var varObjeto = await manager.InsertAsync(ObjMedidor);//llmada a método que inserta un nuevo registro

                                if (varObjeto != null)
                                {
                                    ObjMedidor = varObjeto.First();        //asignación de objeto local con datos recién ingresados
                                    txtId.Text = ObjMedidor.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(ObjMedidor);//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)//control de errores
            {
                await DisplayAlert("Mensaje", e1.Message, "ok");
            }
        }