/// <summary> /// Método para obtener la información correspondiente a las partidas /// </summary> /// <param name="soliciutd">Objeto de tipo OSolicitud</param> /// <param name="zonaPartidas">Zona de la partida</param> /// <param name="login">Objeto de tipo OLogin</param> /// <returns>Respuesta genérica de tipo OTipoCuota</returns> public Respuesta <OPartida> ObtenerPartidas(OSolicitud soliciutd, string zonaPartidas, OLogin login) { Respuesta <OPartida> respuesta = new Respuesta <OPartida>(); try { if (soliciutd == null) { throw new ArgumentException(Constantes.PARAMETROVACIOONULO, "soliciutd"); } respuesta = DGestionarCuotasDiarias.Instances.ObtenerPartidas(soliciutd, zonaPartidas, login); } catch (Exception ex) { _stackTrace = new StackTrace(); _stackFrame = new StackFrame(); _stackFrame = _stackTrace.GetFrame(0); _currentMethodName = _stackFrame.GetMethod(); _logError = new OLogError { codigoError = ex.HResult.ToString(), error = ex.Message, evento = "ObtenerPartidas", formulario = "NGestionarCuotasDiarias" }; _logError.ex = ex; _logError.usuarioID = login.Usuario.UsuarioID; _logError.ipEquipo = login.Usuario.ip; //Revisar por que no se ve el "Guardar" DGestionLogError.Instances.GuardarError(_logError, login); respuesta.MensajeUsuario = ex.Message; respuesta.TipoEstatus = TipoEstatus.Error; } return(respuesta); }
/// <summary> /// /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <OSolicitud> ObtenerSolicitudesVentanillaUnica(OSolicitud filtro) { List <OSolicitud> listaSolicitudes; filtro.FolioSolicitud = string.IsNullOrEmpty(filtro.FolioSolicitud) ? "" : filtro.FolioSolicitud; using (var modelo = new SIRFPROD_v2Entities()) { var consultaEdos = (from es in modelo.CatEstatusSolicitud join ep in modelo.EstatusPerfil on es.catEstatusSolicitudID equals ep.catEstatusSolicitudID where ep.catPerfilID == filtro.PerfilID && es.estatusLogico select es.catEstatusSolicitudID).ToList(); listaSolicitudes = (from sol in modelo.SolicitudRecurso.Where(s => s.solicitudRecursoID != 0 && consultaEdos.Contains(s.catEstatusSolicitudID)) join sofi in modelo.SolicitudFirma.Where(s => s.EstatusLogico != null) on sol.solicitudRecursoID equals sofi.solicitudRecursoID join oReg in modelo.RegistroContable on sol.solicitudRecursoID equals oReg.solicitudRecursoID into oRegLeft from oR in oRegLeft.DefaultIfEmpty() join cfi in modelo.CatFirma on sofi.catFirmaID equals cfi.catFirmaID into cfiLeft from cF in cfiLeft.DefaultIfEmpty() join em in modelo.EstatusMovimiento on sol.solicitudRecursoID equals em.solicitudRecursoID into emLeft from eM in emLeft.DefaultIfEmpty() where (filtro.Estatus.EstatusID == -1 || sol.catEstatusSolicitudID == filtro.Estatus.EstatusID) && (filtro.Region.RegionalID == -1 || sol.CatUnidadAdm.catRegionID == filtro.Region.RegionalID) && (filtro.SolFirmaID == -1 || sofi.catFirmaID == filtro.SolFirmaID) && (filtro.UnidadAdministrativa.CodUA == -1 || sol.catUnidadAdmID == filtro.UnidadAdministrativa.CodUA) && (filtro.TipoSolicitud.TipoSolicitudID == -1 || sol.catSolicitudID == filtro.TipoSolicitud.TipoSolicitudID) && (filtro.FolioSolicitud == "" || sol.folioSolicitud.Contains(filtro.FolioSolicitud)) && (filtro.FechaInicial == null && filtro.FechaFinal == null || (filtro.FechaFinal != null && filtro.FechaInicial != null ? sofi.FechaFirma >= filtro.FechaInicial && sofi.FechaFirma <= filtro.FechaFinal : (filtro.FechaFinal != null ? sofi.FechaFirma <= filtro.FechaFinal : sofi.FechaFirma >= filtro.FechaInicial ) ) ) select new OSolicitud { SolicitudID = sol.solicitudRecursoID, FolioSolicitud = sol.folioSolicitud, TipoSolicitud = new OTipoSolicitud { TipoSolicitudID = sol.catSolicitudID, DescripcionTipoSolicitud = sol.CatSolicitud.descripcion }, ConsecutivoFolGen = oR == null ? 0 : oR.consecutivo, Prioridad = new OPrioridad { PrioridadID = sol.catPrioridadID, DescripcionPrioridad = sol.CatPrioridad.descripcion }, UnidadAdministrativa = new OUnidadAdministrativa { CodUA = sol.CatUnidadAdm.catUnidadAdmID, UnidadAdministrativa = sol.CatUnidadAdm.descripcion, Abreviatura = sol.CatUnidadAdm.abreviatura }, FechaSolicitud = sofi.FechaFirma, Observaciones = sol.observaciones, OficioSolicitud = sol.oficioSolicitud, FechaControl = sol.fechaControl, FechaActualizacion = sol.fechaActualizacion, SolFirmaID = sofi.catFirmaID, Descripcion = cF == null ? "" : cF.Descripcion, EstatusLogico = sofi.EstatusLogico, Estatus = new OEstatusSolicitud { EstatusID = sol.catEstatusSolicitudID, DescripcionCorta = sol.CatEstatusSolicitud.descripcionCorta, DescripcionEstatus = sol.CatEstatusSolicitud.descripcion }, Rechazada = eM == null } ).Where(s => s.SolicitudID != 0) .ToList().GroupBy(p => p.SolicitudID).Select(grp => grp.First()).ToList() .OrderByDescending(x => x.Rechazada) .ToList(); listaSolicitudes.ForEach(s => { s.Monto = CalculoMonto(s.TipoSolicitud.TipoSolicitudID, s.SolicitudID, modelo); } ); } return(listaSolicitudes); }
/// <summary> /// Método para obtener la información correspondiente a los concepto de pago /// </summary> /// <param name="soliciutd">Objeto de tipo OSolicitud</param> /// <param name="login">Objeto de tipo OLogin</param> /// <returns>Respuesta genérica de tipo OTipoCuota</returns> public Respuesta <OConceptoGastos> ObtenerConceptosPago(OSolicitud soliciutd, OLogin login) { Respuesta <OConceptoGastos> respuesta = new Respuesta <OConceptoGastos>(); try { using (SIRFPROD_v2Entities db = new SIRFPROD_v2Entities()) { var consulta = (from cm in db.CatConceptoPago //where cm.tipoSolicitudID == soliciutd.SolicitudID ---> REVISAR ESTA CONDICIÓN, ESTA DE LA PATADA select new OConceptoGastos { conceptoGastosID = cm.catConceptoPagoID, descripcionConceptoGasto = cm.descripcion, //tipoSolicitudID = cm.tipoSolicitudID, estatusLogico = cm.estatusLogico }).ToList(); if (consulta.Count > 0) { respuesta.TipoEstatus = TipoEstatus.Ok; respuesta.MensajeUsuario = Constantes.CONINFORMACION; consulta.Add(new OConceptoGastos() { conceptoGastosID = -1, descripcionConceptoGasto = Constantes.SELECTOPTION }); respuesta.ListaRegistros = consulta; } else { respuesta.TipoEstatus = TipoEstatus.Error; respuesta.MensajeUsuario = Constantes.SININFORMACION; consulta.Add(new OConceptoGastos() { conceptoGastosID = -1, descripcionConceptoGasto = Constantes.SELECTOPTION }); respuesta.ListaRegistros = consulta; } } } catch (Exception ex) { _stackTrace = new StackTrace(); _stackFrame = new StackFrame(); _stackFrame = _stackTrace.GetFrame(0); _logError = new OLogError { codigoError = ex.HResult.ToString(), error = ex.Message, evento = "ObtenerConceptosPago", formulario = "DGestionarCuotasDiarias", ex = ex, usuarioID = login.Usuario.UsuarioID, ipEquipo = login.Usuario.ip }; //Revisar por que no se ve el "Guardar" DGestionLogError.Instances.GuardarError(_logError, login); respuesta.MensajeUsuario = ex.Message; respuesta.TipoEstatus = TipoEstatus.Error; } return(respuesta); }
/// <summary> /// Método para obtener la información correspondiente a las partidas /// </summary> /// <param name="soliciutd">Objeto de tipo OSolicitud</param> /// <param name="zonaPartidas">Zona de la partida</param> /// <param name="login">Objeto de tipo OLogin</param> /// <returns>Respuesta genérica de tipo OTipoCuota</returns> public Respuesta <OPartida> ObtenerPartidas(OSolicitud soliciutd, string zonaPartidas, OLogin login) { Respuesta <OPartida> respuesta = new Respuesta <OPartida>(); try { using (SIRFPROD_v2Entities db = new SIRFPROD_v2Entities()) { var consulta = (from cp in db.CatPartida where // cp.tipoSolicitudID == soliciutd.SolicitudID && ---> ESTO ESTA DE LA PATADA, REVISAR cp.estatusLogico == (soliciutd.EstatusLogico == false || cp.estatusLogico) && ( (zonaPartidas == "Mexico" && (cp.catPartidaID == 37502 || cp.catPartidaID == 37504)) || (zonaPartidas == "Extranjero" && (cp.catPartidaID == 37601 || cp.catPartidaID == 37602)) || zonaPartidas == "Todo") select new OPartida { CodPartida = cp.catPartidaID, ConceptoGtoCorriente = cp.denominacion, DescripcionPartida = cp.descripcion, Capitulo = cp.capitulo, Concepto = cp.concepto, Denominacion = cp.denominacion, EstatusLogico = cp.estatusLogico }).ToList(); if (consulta.Count > 0) { respuesta.TipoEstatus = TipoEstatus.Ok; respuesta.MensajeUsuario = Constantes.CONINFORMACION; consulta.Add(new OPartida() { CodPartida = -1, DescripcionPartida = Constantes.SELECTOPTION }); respuesta.ListaRegistros = consulta; } else { respuesta.TipoEstatus = TipoEstatus.Error; respuesta.MensajeUsuario = Constantes.SININFORMACION; consulta.Add(new OPartida() { CodPartida = -1, DescripcionPartida = Constantes.SELECTOPTION }); respuesta.ListaRegistros = consulta; } } } catch (Exception ex) { _stackTrace = new StackTrace(); _stackFrame = new StackFrame(); _stackFrame = _stackTrace.GetFrame(0); _logError = new OLogError { codigoError = ex.HResult.ToString(), error = ex.Message, evento = "ObtenerPartidas", formulario = "DGestionarCuotasDiarias", ex = ex, usuarioID = login.Usuario.UsuarioID, ipEquipo = login.Usuario.ip }; //Revisar por que no se ve el "Guardar" DGestionLogError.Instances.GuardarError(_logError, login); respuesta.MensajeUsuario = ex.Message; respuesta.TipoEstatus = TipoEstatus.Error; } return(respuesta); }
/// <summary> /// /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <OSolicitud> ObtenerSolicitudesVentanillaUnica(OSolicitud filtro) { DSolicitud solicitudNegocio = new DSolicitud(); return(solicitudNegocio.ObtenerSolicitudesVentanillaUnica(filtro)); }