예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public List <OSolicitud> ObtenerSolicitudesVentanillaUnica(OSolicitud filtro)
        {
            DSolicitud solicitudNegocio = new DSolicitud();

            return(solicitudNegocio.ObtenerSolicitudesVentanillaUnica(filtro));
        }