public static List<EgresoDTO> importarEgresos(string ruta) { List<EgresoDTO> egresos = new List<EgresoDTO>(); StreamReader objReader = new StreamReader(ruta); string sLine = ""; ArrayList arrText = new ArrayList(); while (sLine != null) { sLine = objReader.ReadLine(); if (sLine != null) { string[] columnas = sLine.Split(';'); if (columnas[0].Trim().Equals("CE")) { EgresoDTO e = new EgresoDTO(); //Pimera columna e.TipoDocumento = 1; //Segunda columna e.Numero = long.Parse(columnas[1].Trim()); //Tercera columna e.FechaAplica = DateTime.ParseExact(columnas[2].Trim(), "yyyy/dd/MM", CultureInfo.InvariantCulture); //Quinta columna e.Valor = Utilidades.parsearDecimal(columnas[3].Trim(), ','); egresos.Add(e); } } } objReader.Close(); return egresos; }
/// <summary> /// <para>Obtien la lista de egresos aplicados en la fecha indicada.</para> /// <para>CierreException. Si la operación falla.</para> /// </summary> /// <param name="fecha">DateTime, fecha a la que se aplicaron lo egresos.</param> /// <returns>Lista de DTO con la información de los egresos.</returns> public IList<EgresoDTO> consultarEgresosAplicados(DateTime fecha) { try { IList<EgresoDTO> dtos = new List<EgresoDTO>(); IList vos = egresosDAO.consultarEgresosAplicados(fecha, fecha); foreach (EgresoVO vo in vos) { EgresoDTO dto = new EgresoDTO(); dto.IdEgreso = vo.IdEgreso; dto.TipoDocumento = vo.Documento; dto.Numero = vo.Numero; dto.Beneficiario = vo.Beneficiario; dto.Valor = vo.Valor; dto.Fecha = vo.Fecha; dto.FechaAplica = vo.FechaAplica; dtos.Add(dto); } return dtos; } catch (EstacionDBException ex) { throw new CierreException("No se pudo obtener los egresos aplicados a la fecha indicada", ex); } }
/// <summary> /// <para>Elimina el egreso que recibe como parámetros.</para> /// </summary> /// <param name="egreso">EgrestoDTO debe contener al menos el campo IdEgreso.</param> /// <returns>int, número de egreso eliminados.</returns> public int eliminarEgreso(EgresoDTO egreso) { try { EgresoVO e = new EgresoVO(); e.Beneficiario = egreso.Beneficiario; e.Documento = egreso.TipoDocumento; e.Fecha = egreso.Fecha; e.FechaAplica = egreso.FechaAplica; e.IdEgreso = egreso.IdEgreso; e.Isla = 0; e.Numero = egreso.Numero; e.Valor = egreso.Valor; return egresosDAO.eliminarEgreso(e); } catch (EstacionDBException ex) { throw new CierreException("No se pudo eliminar el egreso", ex); } }
/// <summary> /// <para>Compara la información del egreso contenida en el DTO con la información /// registrada. En caso de inconsistencia lanza una excepción de tipo /// CierreException con la respectiva descripción.</para> /// </summary> /// <param name="dto">EgresoDTO DTO con los datos a validar</param> public void validarEgreso(EgresoDTO dto) { EgresoVO vo = egresosDAO.consultarEgreso(dto.Numero); if (vo == null) { throw new CierreException("Egreso # " + dto.Numero + ". No existe"); } if (vo.Valor.CompareTo(dto.Valor) != 0) { throw new CierreException("Egreso # " + dto.Numero + ". Diferencia de valor: [Registrado : " + Utilidades.Utilidades.formatearDecimal(vo.Valor) + "][Archivo : " + Utilidades.Utilidades.formatearDecimal(dto.Valor) + "]"); } DateTime fechaVo = DateTime.Parse(vo.FechaAplica.ToString("yyyy/MM/dd")); DateTime fechaDto = DateTime.Parse(dto.FechaAplica.ToString("yyyy/MM/dd")); if (fechaVo.CompareTo(fechaDto) != 0) { throw new CierreException("Egreso # " + dto.Numero + ". Fechas no coninciden: [Registrado : ]" + fechaVo.ToShortDateString() + "][Archivo : " + fechaDto.ToShortDateString() + "]"); } }