예제 #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            servicio.IdServicio = idPagoServicio;
            string fechaCancelacion = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            string auxMes           = Mes(mesMaximo);
            int    resultado        = GestionarExpensas.Registro_Pago_Servicio(servicio, fechaCancelacion, Convert.ToInt32(txtDeuda.Text), auxMes, Convert.ToInt32(txtMontoCancelacion.Text));

            if (resultado > 0)
            {
                MessageBox.Show("El registro de pago de servicios se realizo satisfactoriamente", "Registro exitoso".ToUpper(), MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("No se logro registro el pago de servicios", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            int resultadoUpdate = 0;

            for (int i = mesMinimo; i <= mesMaximo + 1; i++)
            {
                resultadoUpdate = GestionarExpensas.Update_Pago_Servicios(i);
            }
            if (resultadoUpdate > 0)
            {
                MessageBox.Show("Bien");
            }
            else
            {
                MessageBox.Show("Mal");
            }
        }
예제 #2
0
        /*
         * DELETE FROM pago_servicio WHERE id_PagoServicio = 26;
         */

        #endregion

        public void CargaAutomatica_TotalExpensas()
        {
            int auxMes = 0;

            #region Para obtener los nombres y ID de los departamentos en una lista para luego ver su estado_vivienda
            MySqlDataReader obternerDepartamentos = gtrDepartamentos.DeparatamentosDiferentes_a_NoHabitado();

            if (obternerDepartamentos.HasRows)
            {
                while (obternerDepartamentos.Read())
                {
                    listaDepartamento.Add(new Departamento()
                    {
                        Nombre      = Convert.ToString(obternerDepartamentos["nombre"]),
                        ID_Vivienda = Convert.ToInt32(obternerDepartamentos["id_Vivienda"])
                    });
                }
            }
            #endregion
            #region Luego comparamos todos los departamentos de la lista para ver su estado_vivienda
            for (int i = 0; i < listaDepartamento.Count; i++)
            {
                departamento.Nombre      = listaDepartamento[i].Nombre;
                departamento.ID_Vivienda = listaDepartamento[i].ID_Vivienda;
                #endregion
                #region Para ver el estado del departamento si ees diferente a no habitado
                MySqlDataReader departametoEstado = gtrServicios.EstadoDepartamento(departamento);
                if (departametoEstado.HasRows)
                {
                    while (departametoEstado.Read())
                    {
                        //PARA VER EL ESTADO DEL DEPARTAMENTO
                        if (departametoEstado.GetString(0).ToUpper() != "NO HABITADO")
                        {
                            #endregion
                            #region Para ver la ultima fecha de pago_Servicio
                            MySqlDataReader obtener_UltimoMes = gtrExpensas.MostrarUltimaFecha_PagoServicio(departamento);
                            if (obtener_UltimoMes.HasRows)
                            {
                                while (obtener_UltimoMes.Read())
                                {
                                    //Para corregir el error de extraccion del mes en la consulta
                                    //que se incrementaba el mes automaticamente y para corregirlo
                                    //construimos un algoritmo donde ya no se incremente el ultimo mes obtenido
                                    string dateTime = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
                                    if (obtener_UltimoMes.GetString(0) == dateTime)
                                    {
                                    }
                                    else
                                    {
                                        //para registrar la fecha siguiente que le toca pagar al departamento
                                        string fechaPago = DateTime.Now.Year + "-" + DateTime.Now.Month + "-10";
                                        #endregion
                                        #region Para obtener el el saldo total del agua y el saldo de los otros servicios
                                        //Para obtener el el saldo total del agua y el saldo de los otros servicios
                                        MySqlDataReader obternerSaldo = gtrServicios.TotalPagoExpensas(departamento);
                                        if (obternerSaldo.HasRows)
                                        {
                                            while (obternerSaldo.Read())
                                            {
                                                totalPagar = obternerSaldo.GetInt32(0) - obternerSaldo.GetInt32(1);
                                                totalAgua  = obternerSaldo.GetInt32(1);
                                            }
                                        }
                                        #endregion
                                        #region Para obterner la cantidad de habitantes en cada departamento
                                        //obtenemos el id_departamento
                                        int             idDepartamento             = departamento.ID_Vivienda;
                                        MySqlDataReader obterner_CantidadHabitante = gtrDepartamentos.ContidadHabitante(idDepartamento);
                                        if (obterner_CantidadHabitante.HasRows)
                                        {
                                            while (obterner_CantidadHabitante.Read())
                                            {
                                                //multiplicamos el agua por la cantidad de habitantes
                                                totalAgua = totalAgua * obterner_CantidadHabitante.GetInt32(0);
                                            }
                                        }
                                        #endregion
                                        //La suma total de todo las expensas que tiene que pagar
                                        totalPagar = totalPagar + totalAgua;
                                        string auxTotalPago = Convert.ToString(totalPagar) + ".00";
                                        //para poner el estado de cancelado  =  NO
                                        bool cancelado = false;
                                        #region Insersion de pago de servicios del departameto
                                        int resulInsert_PagoServicio = GestionarExpensas.Pago_Servicio(departamento, fechaPago, auxTotalPago, cancelado);

                                        if (resulInsert_PagoServicio > 0)
                                        {
                                            MessageBox.Show("Se actualizo la base de datos de registro de pago de servicios de cada departameto", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        }
                                        else
                                        {
                                            MessageBox.Show("No se logro actualizar la base de datos de pago de servicios de los departamentos", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                        #endregion
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }