public void ObtenerIdDepartamento() { //Para obtener el ID_Departamnto //Recivimos el nombre del departamento //Consultamos atraves del nombre el Id_Departamento MySqlDataReader obtener_IdDepartamento = obtenerDepartamento.Obtener_IdDepartamento(departamento); //Leemos Los datos adquiridos if (obtener_IdDepartamento.HasRows) { while (obtener_IdDepartamento.Read()) { idDepartamento = Convert.ToInt32(obtener_IdDepartamento.GetString(0)); MySqlDataReader obtener_CantidadHabitante = obtenerDepartamento.ContidadHabitante(idDepartamento); if (obtener_CantidadHabitante.HasRows) { while (obtener_CantidadHabitante.Read()) { CantidadHabitante = obtener_CantidadHabitante.GetInt32(0); } } } obtener_IdDepartamento.Close(); } }
/* * 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 } } } } } } } }