/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static CampaniaResponseDto ListarCampanias(CampaniaRequestDto request) { try { CampaniaResponseDto response; List <CampaniaListaDto> listaCampanias; CampaniaFiltroDto objFiltro; objFiltro = request.Filtro; listaCampanias = CampaniaData.ListarCampanias(objFiltro); response = new CampaniaResponseDto { ListaCampanias = listaCampanias }; return(response); } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento almacenado que lista Usuarios.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar las Usuarios</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>19/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static LoginResponseDto Login(LoginRequestDto request) { try { LoginResponseDto response; LoginListaDto objLogin; ArchivoListaDto objArchivo; List <OpcionListaDto> listaOpcionesPerfil; Campania objCampaniaActual; DatosUsuarioListaDto objDatosUsuario; string usuario; string clave; string campania; usuario = request.Usuario; clave = request.Clave; objLogin = UsuarioData.Login(usuario); if (objLogin == null) { BusinessException.Generar(Constantes.Mensajes.USUARIO_NO_EXISTE); } if (objLogin.Clave != Funciones.Encriptar(clave.ToUpper())) { BusinessException.Generar(Constantes.Mensajes.CLAVE_USUARIO_INCORRECTA); } objDatosUsuario = UsuarioData.ListarDatosUsuario(objLogin.Codigo); objDatosUsuario.Codigo = objLogin.Codigo; objDatosUsuario.Clave = objLogin.Clave; objDatosUsuario.CodigoEdificio = objLogin.CodigoEdificio; objDatosUsuario.CodigoPerfil = objLogin.CodigoPerfil; objDatosUsuario.CodigoPersona = objLogin.CodigoPersona; objDatosUsuario.Nombre = objLogin.Nombre; objDatosUsuario.Usuario = objLogin.Usuario; objCampaniaActual = CampaniaData.ObtenerCampaniaActual((int)objDatosUsuario.CodigoEdificio); campania = objCampaniaActual.Codigo; objDatosUsuario.CampaniaActual = campania; listaOpcionesPerfil = OpcionData.ListaOpcionesPorPerfil(objLogin.CodigoPerfil); response = new LoginResponseDto { ListaOpcionesPorPerfil = listaOpcionesPerfil, Usuario = objDatosUsuario, //FotoUsuario = objArchivo, }; return(response); } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static CampaniaResponseDto ObtenerEditorCampania(int edificioId, int campaniaId) { try { CampaniaResponseDto response; List <GenericoListaDto> listaMeses; List <GenericoListaDto> listaConceptosGenerales; List <CampaniaDetalle> listaConceptosPorCampania; List <ConceptoListaDto> listaConceptos; Campania objCampania; Campania objCampaniaAnterior; List <GenericoListaDto> listaCampanias; listaConceptosGenerales = ConceptoData.ListarConceptos(edificioId); listaMeses = new List <GenericoListaDto>(); foreach (var item in Funciones.ListaMeses()) { listaMeses.Add(new GenericoListaDto { Codigo = item.Codigo, Descripcion = item.Descripcion }); } objCampania = CampaniaData.ObtenerCampania(campaniaId); listaConceptosPorCampania = new List <CampaniaDetalle>(); listaConceptos = new List <ConceptoListaDto>(); listaCampanias = new List <GenericoListaDto>(); foreach (var item in Funciones.ListarCampaniasParaFiltro()) { listaCampanias.Add(new GenericoListaDto { Codigo = item.Codigo, Descripcion = item.Descripcion }); } if (objCampania != null) { listaConceptosPorCampania = CampaniaDetalleData.ListarPorCampania(campaniaId); foreach (var item in listaConceptosGenerales) { var objConcepto = listaConceptosPorCampania.FirstOrDefault(x => x.ConceptoId.ToString() == item.Codigo); listaConceptos.Add(new ConceptoListaDto { ConceptoId = Convert.ToInt32(item.Codigo), NombreConcepto = item.Descripcion, Monto = (objConcepto != null) ? objConcepto.Monto : 0, Existe = (objConcepto != null) }); } } else { objCampaniaAnterior = CampaniaData.ObtenerUltimaCampania(edificioId); listaConceptosPorCampania = CampaniaDetalleData.ListarPorCampania(objCampaniaAnterior.CampaniaId); foreach (var item in listaConceptosGenerales) { var objConcepto = listaConceptosPorCampania.FirstOrDefault(x => x.ConceptoId.ToString() == item.Codigo); listaConceptos.Add(new ConceptoListaDto { ConceptoId = Convert.ToInt32(item.Codigo), NombreConcepto = item.Descripcion, Monto = (objConcepto != null) ? objConcepto.Monto : 0, Existe = (objConcepto != null) }); } } response = new CampaniaResponseDto { ListaMeses = listaMeses, ListaConceptos = listaConceptos, Campania = objCampania, ListaCampaniasPlantilla = listaCampanias }; return(response); } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static void ActualizarCampania(CampaniaRequestDto request) { Campania objCampania; Campania objCampaniaAnterior; List <ConceptoListaDto> listaConceptos; int idCampania; objCampania = request.Campania; idCampania = objCampania.CampaniaId; objCampaniaAnterior = CampaniaData.ObtenerCampania(idCampania); objCampania.Codigo = objCampania.Anio + objCampania.MesId.ToString("0#"); listaConceptos = request.ListaConceptos; //VALIDACIONES if (objCampaniaAnterior.FechaInicio != objCampania.FechaInicio || objCampaniaAnterior.FechaFin != objCampania.FechaFin) { if (CampaniaData.ValidaExisteFecha(objCampania)) { BusinessException.Generar("Las fechas ingresadas ya están ocupadas por otra campaña"); } } if (objCampaniaAnterior.Codigo != objCampania.Codigo) { if (CampaniaData.ValidaExiste(objCampania)) { BusinessException.Generar("La campaña que está intentado registrar ya fué registrada anteriormente"); } } try { using (TransactionScope tran = new TransactionScope()) { CampaniaData.Actualizar(objCampania); CampaniaDetalleData.EliminarPorCampania(idCampania); foreach (var item in listaConceptos) { if (item.Existe) { var objDetalle = new CampaniaDetalle { CampaniaId = idCampania, ConceptoId = item.ConceptoId, Monto = item.Monto }; CampaniaDetalleData.Insertar(objDetalle); } } tran.Complete(); } } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>12/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static void InsertarCampania(CampaniaRequestDto request) { Campania objCampania; List <ConceptoListaDto> listaConceptos; List <ConceptoListaDto> listaConceptosSeleccionados; int idCampania; int estadoActivo; decimal totalCampania; totalCampania = 0; estadoActivo = 1; objCampania = request.Campania; listaConceptos = request.ListaConceptos; objCampania.Codigo = objCampania.Anio + objCampania.MesId.ToString("0#"); objCampania.EstadoId = estadoActivo; listaConceptosSeleccionados = new List <ConceptoListaDto>(); //INICIO VALIDACIONES if (CampaniaData.ValidaExisteFecha(objCampania)) { BusinessException.Generar("Las fechas ingresadas ya están ocupadas por otra campaña"); } if (CampaniaData.ValidaExiste(objCampania)) { BusinessException.Generar("La campaña que está intentado registrar ya fué registrada anteriormente"); } foreach (var item in listaConceptos) { if (item.Existe) { listaConceptosSeleccionados.Add(item); } } if (listaConceptos.Count == 0) { BusinessException.Generar("Debe seleccionar por lo menos un gasto"); } foreach (var item in listaConceptosSeleccionados) { if (item.Monto <= 0) { BusinessException.Generar("Los conceptos seleccionados deben tener un monto mayor a 0"); } totalCampania += item.Monto; } //FIN VALIDACIONES objCampania.Total = totalCampania; try { using (TransactionScope tran = new TransactionScope()) { idCampania = CampaniaData.Insertar(objCampania); foreach (var item in listaConceptosSeleccionados) { var objDetalle = new CampaniaDetalle { CampaniaId = idCampania, ConceptoId = item.ConceptoId, Monto = item.Monto }; CampaniaDetalleData.Insertar(objDetalle); } tran.Complete(); } } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }
/// <summary>Invoca al Procedimiento almacenado que lista Usuarios.</summary> /// <param name="objFiltro">Parámetros para el filtro de Listar las Usuarios</param> ///<remarks> ///<list type = "bullet"> ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item> ///<item><FecCrea>19/02/2018</FecCrea></item></list> ///<list type="bullet"> /// <item><FecActu>XX/XX/XXXX.</FecActu></item> /// <item><Resp>Responsable.</Resp></item> /// <item><Mot>Motivo.</Mot></item></list></remarks> public static HomeResponseDto ListaDatosHome(int depaId) { try { HomeResponseDto response; string campaniaActual; decimal deudaActual; int campaniasDebe; int diasRetraso; string textoMostrarDias; string textoAlDia; bool tieneRetraso; DateTime? fechaUltimoVencimiento; List <GenericoListaDto> listaCampanias; List <ReporteGastosMensualEdificioResumido> listaGastosMensualResumido; List <DepasEstadoHomeListaDto> listaDepasEstado; List <ReporteEstadoCuentaMensualResumidoListaDto> listaReporteEstadoCuentaMensualResumido; DateTime fechaActual; int edificioId; Departamento objDepa; Campania objCampaniaActual; objDepa = DepartamentoData.ObtenerDepartamento(depaId); edificioId = objDepa.EdificioId; deudaActual = DepartamentoData.ObtenerDeudaActual(depaId); campaniasDebe = DepartamentoData.ObtenerCampaniasDebe(depaId); listaCampanias = new List <GenericoListaDto>(); foreach (var item in Funciones.ListarCampaniasParaFiltro()) { listaCampanias.Add(new GenericoListaDto { Codigo = item.Codigo, Descripcion = item.Descripcion }); } listaGastosMensualResumido = CampaniaData.ReporteProgresoMensualEdificioResumido(edificioId); listaGastosMensualResumido = listaGastosMensualResumido.OrderBy(x => x.Campania).ToList(); fechaUltimoVencimiento = EstadoCuentaData.ObtenerFechaPrimerVencido(depaId); fechaActual = DateTime.Now; diasRetraso = (fechaActual - fechaUltimoVencimiento).Value.Days; objCampaniaActual = CampaniaData.ObtenerCampaniaActual(edificioId); listaReporteEstadoCuentaMensualResumido = EstadoCuentaData.ReporteMensualResumido(depaId); listaReporteEstadoCuentaMensualResumido = listaReporteEstadoCuentaMensualResumido.OrderBy(x => x.Anio).ThenBy(x => x.MesId).ToList(); //listaReporteEstadoCuentaMensualResumido = listaReporteEstadoCuentaMensualResumido.OrderBy(x => x.MesId).ToList(); campaniaActual = objCampaniaActual.Codigo; if (diasRetraso > 0) { tieneRetraso = true; textoAlDia = Constantes.Mensajes.TEXTO_NOAL_DIA; textoMostrarDias = string.Format(Constantes.Mensajes.DIAS_RETRASO, diasRetraso); } else if (diasRetraso < 0) { tieneRetraso = false; textoAlDia = Constantes.Mensajes.TEXTO_AL_DIA; textoMostrarDias = string.Format(Constantes.Mensajes.DIAS_FALTANTES, diasRetraso); } else { tieneRetraso = true; textoAlDia = Constantes.Mensajes.TEXTO_NOAL_DIA; textoMostrarDias = string.Format(Constantes.Mensajes.HOY_DIOPAGO); } listaDepasEstado = DepartamentoData.ListarEstadosHome(edificioId); foreach (var item in listaDepasEstado) { item.Debe = ((item.FechaVencimiento <= fechaActual || item.FechaVencimiento == null) && item.Saldo > 0); } foreach (var item in listaReporteEstadoCuentaMensualResumido) { item.Campania = Funciones.ObtenerDescripcionCampania(item.MesId, item.Anio); item.AlDia = !(item.FechaVencimiento <= fechaActual && item.Saldo > 0); } response = new HomeResponseDto { CampaniaActual = campaniaActual, DeudaActual = deudaActual, CampaniasDebe = campaniasDebe, ListaCampanias = listaCampanias, ListaDepasEstado = listaDepasEstado, ListaGastosMensual = listaGastosMensualResumido, TieneRetraso = tieneRetraso, TextoMostrarRetraso = textoMostrarDias, TextoAlDia = textoAlDia, ListaReporteEstadoCuentaResumido = listaReporteEstadoCuentaMensualResumido }; return(response); } catch (Exception ex) { Log.RegistrarLog(NivelLog.Error, ex); throw; } }