public ActionResult FiltroGrafica(GeneralCitaDTO Filtros)
        {
            var reporteService = new ReporteService();
            var lista2         = reporteService.ListaReporte2(Filtros);

            return(PartialView(lista2));
        }
        public ActionResult VerSolicitudVista(GeneralCitaDTO GeneralCitaDto)
        {
            //var generalCitaDto = Newtonsoft.Json.JsonConvert.DeserializeObject<GeneralCitaDTO>(Cadena);
            var citaDto = new CitaDTO();

            DebugLog("Entró a PromoventeController.VerSolicitudVista");
            try
            {
                citaDto = new CitaDTO
                {
                    Fecha                   = Convert.ToDateTime(GeneralCitaDto.FechaFinal),
                    HoraInicio              = GeneralCitaDto.HorarioFinal,
                    Unidad_Atencion         = GeneralCitaDto.Unidad_Atencion,
                    UnidadMedicaId          = GeneralCitaDto.UnidadMedicaId,
                    Unidad_Medica           = GeneralCitaDto.Unidad_Medica,
                    Promovente              = GetPromoventeVista(GeneralCitaDto),
                    Paciente                = GeneralCitaDto.EsRepresentante ? GetPacienteVista(GeneralCitaDto) : new PersonaDTO(),
                    EsRepresentante         = GeneralCitaDto.EsRepresentante,
                    TramiteUnidadAtencionId = GeneralCitaDto.TramiteUnidadAtencionId,
                    DomicilioId             = GeneralCitaDto.DomicilioId,
                    ConFolio                = false
                };


                var citaService = new CitaService();
                citaService.GetDomicilio(0, citaDto);
            }
            catch (Exception ex)
            {
                EscribirLog(new ExceptionContext(ControllerContext, ex));
            }

            return(PartialView("../Promovente/VerSolicitud", citaDto));
        }
        public ActionResult CompendioCitas(GeneralCitaDTO Filtros)
        {
            if (Filtros.Encabezados == "null" || Filtros.Encabezados == "undefined")
            {
                Filtros.Encabezados = null;
            }
            if (Filtros.Llaves == "null" || Filtros.Llaves == "undefined")
            {
                Filtros.Llaves = null;
            }

            var encabezados = string.IsNullOrEmpty(Filtros.Encabezados)
                ? new List <string>()
                : Filtros.Encabezados.Split(',').ToList();
            var llaves = string.IsNullOrEmpty(Filtros.Llaves) ? new List <string>() : Filtros.Llaves.Split(',').ToList();

            var reporteService  = new ReporteService();
            var listaResultados = reporteService.ListaReporte1(Filtros);
            var objetos         = new List <IDictionary <string, object> >();

            foreach (var resultado in listaResultados)
            {
                var objeto = resultado.AsDictionary();
                objetos.Add(objeto);
            }

            Filtros.ListaRefleccion  = objetos;
            Filtros.ListaEncabezados = encabezados;
            Filtros.ListaLlaves      = llaves;
            Filtros.TotalRegistros   = Enumeracion.TotalRegistros;

            return(PartialView(Filtros));
        }
        /// <summary>
        ///     Cancelación de una cita
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        public async Task <ActionResult> CancelarCita(GeneralCitaDTO GeneralCitaDto)
        {
            var citaService = new CitaService();

            var citaDto = new CitaDTO {
                SolicitudId = GeneralCitaDto.SolicitudId
            };

            citaDto = citaService.GetCita(citaDto);

            if (!EsSolicitudCancelable(citaDto))
            {
                return(Json(
                           Enumeracion.EnumVarios.Prefijo +
                           Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.ErrorExpiracionTiempoCancelacion],
                           JsonRequestBehavior.AllowGet));
            }

            var mensaje = citaService.CancelarCita(GeneralCitaDto);

            if (!string.IsNullOrEmpty(mensaje) && !mensaje.Contains(Enumeracion.EnumVarios.Prefijo))
            {
                await SendMail(Enumeracion.EnumConsCorreo.CuerpoCorreoCitaCancelada,
                               Enumeracion.EnumConsCorreo.TituloCorreoCitaCancelada, Enumeracion.EnumConsCorreo.NotaCitaCancelada, citaDto);
            }

            return(Json(mensaje, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 5
0
        /// <summary>
        ///     Se agrega al paciente
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <param name="Modelo"></param>
        /// <returns></returns>
        private Persona AddPaciente(GeneralCitaDTO GeneralCitaDto, ISSSTEEntities Modelo)
        {
            var persona = (from a in Modelo.Persona
                           where a.CURP == GeneralCitaDto.CURPPaciente &&
                           a.Nombre == GeneralCitaDto.NombrePaciente &&
                           a.Paterno == GeneralCitaDto.Apellido1Paciente
                           //&& a.Materno == GeneralCitaDto.Apellido2Paciente
                           select a).FirstOrDefault() ?? new Persona();

            persona.Nombre          = GeneralCitaDto.NombrePaciente;
            persona.Paterno         = GeneralCitaDto.Apellido1Paciente;
            persona.Materno         = GeneralCitaDto.Apellido2Paciente;
            persona.CURP            = GeneralCitaDto.CURPPaciente;
            persona.Correo          = GeneralCitaDto.CorreoPaciente;
            persona.Telefono        = GeneralCitaDto.TelefonoPaciente;
            persona.TelefonoMovil   = GeneralCitaDto.CelularPaciente;
            persona.EsActivo        = true;
            persona.Lada            = GeneralCitaDto.LadaPaciente;
            persona.Edad            = Utilerias.GetEdad(GeneralCitaDto.CURPPaciente);
            persona.EsMasculino     = Utilerias.GetSexo(GeneralCitaDto.CURPPaciente);
            persona.FechaNacimiento = Utilerias.GetFechaNacimiento(GeneralCitaDto.CURPPaciente);

            if (persona.PersonaId == 0)
            {
                Modelo.Persona.Add(persona);
            }
            Modelo.SaveChanges();
            return(persona);
        }
Exemplo n.º 6
0
        /// <summary>
        ///     Agenda de una cita
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        public string AgendarCita(GeneralCitaDTO GeneralCitaDto)
        {
            using (var modelo = new ISSSTEEntities())
            {
                using (var modeloTransaction = modelo.Database.BeginTransaction())
                {
                    try
                    {
                        var fecha     = Convert.ToDateTime(GeneralCitaDto.FechaFinal);
                        var horarioId = GeneralCitaDto.HorarioId;

                        var conteoCitas = (from a in modelo.Solicitud
                                           where a.TramiteUnidadAtencionId ==
                                           GeneralCitaDto.TramiteUnidadAtencionId &&
                                           a.FechaCita.Year == fecha.Year &&
                                           a.FechaCita.Month == fecha.Month &&
                                           a.FechaCita.Day == fecha.Day &&
                                           a.HorarioId == horarioId &&
                                           a.EsActivo
                                           select a).Count();

                        var capacidadCita = (from a in modelo.Horario
                                             where a.TramiteUnidadAtencionId ==
                                             GeneralCitaDto.TramiteUnidadAtencionId &&
                                             a.HorarioId == horarioId
                                             select a.Capacidad).FirstOrDefault();

                        if (capacidadCita > conteoCitas)
                        {
                            var numeroFolio = GetNumeroFolio(GeneralCitaDto);

                            var solicitud = AddSolicitud(numeroFolio, horarioId, fecha, GeneralCitaDto, modelo);
                            var persona1  = GeneralCitaDto.EsRepresentante
                                ? AddPaciente(GeneralCitaDto, modelo)
                                : AddPromovente(GeneralCitaDto, modelo);
                            var persona2 = AddPromovente(GeneralCitaDto, modelo);
                            AddInvolucrado(modelo, solicitud.SolicitudId, persona1.PersonaId,
                                           Enumeracion.EnumTipoInvolucrado.Paciente);
                            AddInvolucrado(modelo, solicitud.SolicitudId, persona2.PersonaId,
                                           Enumeracion.EnumTipoInvolucrado.Promovente);

                            modeloTransaction.Commit();
                            return(solicitud.NumeroFolio);
                        }
                        return(Enumeracion.EnumVarios.Prefijo +
                               Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.CupoExcedido]);
                    }
                    catch (Exception ex)
                    {
                        modeloTransaction.Rollback();
                        throw;
                    }
                }
            }
        }
        private string QueryStringReporte2(GeneralCitaDTO Filtros)
        {
            var consulta = " 1=1 ";

            consulta += HoraRango(Filtros.HoraInicioCita, Filtros.HoraFinCita, "HoraCitaTicks");
            consulta += HoraRango(Filtros.HoraInicioRegistro, Filtros.HoraFinRegistro, "HoraSolicitudTicks");

            consulta += FechaRango(Filtros.FechaInicioCita, Filtros.FechaFinCita, "FechaCitaTicks");
            consulta += FechaRango(Filtros.FechaInicioRegistro, Filtros.FechaFinRegistro, "FechaRegistroTicks");

            return(consulta);
        }
        /// <summary>
        ///     Agendar una cita por horario
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        public async Task <ActionResult> AgendarCita(GeneralCitaDTO GeneralCitaDto)
        {
            var numeroFolio = Enumeracion.EnumVarios.Prefijo + "Excepción general";

            try
            {
                if (string.IsNullOrEmpty(GeneralCitaDto.RespuestaCaptcha))
                {
                    return(Json(
                               Enumeracion.EnumVarios.Prefijo +
                               Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.ErrorCaptchaNoProporcionada],
                               JsonRequestBehavior.AllowGet));
                }

                bool esCaptchaValido = CaptchaService.ValidarCaptcha(GeneralCitaDto.RespuestaCaptcha);

                if (!esCaptchaValido)
                {
                    return(Json(
                               Enumeracion.EnumVarios.Prefijo +
                               Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.ErrorCaptchaNoValido],
                               JsonRequestBehavior.AllowGet));
                }

                var citaDto     = new CitaDTO();
                var citaService = new CitaService();
                numeroFolio = citaService.AgendarCita(GeneralCitaDto);


                if (!string.IsNullOrEmpty(numeroFolio) && !numeroFolio.Contains(Enumeracion.EnumVarios.Prefijo))
                {
                    GeneralCitaDto.NumeroFolio = numeroFolio;

                    citaDto.NumeroFolio = numeroFolio;
                    citaDto             = citaService.GetCita(GeneralCitaDto);

                    await SendMail(Enumeracion.EnumConsCorreo.CuerpoCorreoCitaAgendada,
                                   Enumeracion.EnumConsCorreo.TituloCorreoCitaAgendada, Enumeracion.EnumConsCorreo.NotaCitaAgendada, citaDto);
                }
            }
            catch (Exception ex)
            {
                //Log
                EscribirLog(new ExceptionContext(ControllerContext, ex));
            }

            return(Json(numeroFolio, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        ///     Datos del promovente en vista
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        private PersonaDTO GetPromoventeVista(GeneralCitaDTO GeneralCitaDto)
        {
            var persona1Dto = new PersonaDTO
            {
                Nombre            = GeneralCitaDto.NombrePromovente,
                Paterno           = GeneralCitaDto.Apellido1Promovente,
                Materno           = GeneralCitaDto.Apellido2Promovente,
                CURP              = GeneralCitaDto.CURPPromovente,
                Lada              = GeneralCitaDto.LadaPromovente,
                TelFijo           = GeneralCitaDto.TelefonoPromovente,
                TelMovil          = GeneralCitaDto.CelularPromovente,
                CorreoElectronico = GeneralCitaDto.CorreoPromovente
            };

            persona1Dto.EsMasculino     = Utilerias.GetSexo(persona1Dto.CURP);
            persona1Dto.FechaNacimiento = Utilerias.GetFechaNacimiento(persona1Dto.CURP);
            return(persona1Dto);
        }
Exemplo n.º 10
0
        /// <summary>
        ///     Cancelación de una cita manualmente
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        public string CancelarCita(GeneralCitaDTO GeneralCitaDto)
        {
            using (var modelo = new ISSSTEEntities())
            {
                CancelacionAutomatica(GeneralCitaDto.NumeroFolio, modelo, GeneralCitaDto.SolicitudId);

                var horarioDto = (from a in modelo.Solicitud
                                  where a.SolicitudId == GeneralCitaDto.SolicitudId &&
                                  a.CatTipoEdoCitaId == Enumeracion.EnumTipoEdoCita.Pendiente &&
                                  a.EsActivo
                                  select new HorarioDTO
                {
                    Fecha = a.FechaCita,
                    HoraInicio = a.Horario.HoraInicio,
                    EsActivo = a.EsActivo
                }).FirstOrDefault();

                if (horarioDto != null && horarioDto.EsActivo)
                {
                    double horasPrevias, horas;
                    DiferenciaHorario(horarioDto, out horasPrevias, out horas);
                    if (horasPrevias <= horas)
                    {
                        var citaAgendada = (from a in modelo.Solicitud
                                            where a.SolicitudId == GeneralCitaDto.SolicitudId
                                            select a).FirstOrDefault();
                        if (citaAgendada != null)
                        {
                            citaAgendada.CatTipoEdoCitaId = Enumeracion.EnumTipoEdoCita.Cancelado;
                            citaAgendada.EsActivo         = false;
                        }
                        modelo.SaveChanges();
                        return(Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.CitaCancelada]);
                    }
                    return(Enumeracion.EnumVarios.Prefijo +
                           Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.CitaNoEliminada]);
                }
                return(horarioDto == null
                    ? Enumeracion.EnumVarios.Prefijo +
                       Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.CitaEliminada]
                    : Enumeracion.EnumVarios.Prefijo +
                       Enumeracion.MensajesServidor[Enumeracion.EnumConstErrores.CitaNoEncontrada]);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        ///     Se agrega una nueva solicitud
        /// </summary>
        /// <param name="FechaCita"></param>
        /// <param name="GeneralCitaDto"></param>
        /// <param name="Modelo"></param>
        /// <param name="NumeroFolio"></param>
        /// <param name="HorarioId"></param>
        /// <returns></returns>
        private Solicitud AddSolicitud(
            string NumeroFolio, int HorarioId, DateTime FechaCita,
            GeneralCitaDTO GeneralCitaDto, ISSSTEEntities Modelo)
        {
            var solicitud = new Solicitud
            {
                EsActivo = true,
                TramiteUnidadAtencionId = GeneralCitaDto.TramiteUnidadAtencionId,
                NumeroFolio             = NumeroFolio,
                CatTipoEdoCitaId        = Enumeracion.EnumTipoEdoCita.Pendiente,
                HorarioId      = HorarioId,
                FechaCita      = FechaCita,
                FechaRegistro  = DateTime.Now,
                UnidadMedicaId = GeneralCitaDto.UnidadMedicaId
            };

            Modelo.Solicitud.Add(solicitud);
            Modelo.SaveChanges();
            return(solicitud);
        }
Exemplo n.º 12
0
        /// <summary>
        ///     Cálculo del número de folio
        /// </summary>
        /// <param name="GeneralCitaDto"></param>
        /// <returns></returns>
        private string GetNumeroFolio(GeneralCitaDTO GeneralCitaDto)
        {
            var numeroFolio = "Parte1/Parte2/Parte3/Parte4";
            var tua         = GetContadorUA(GeneralCitaDto.TramiteUnidadAtencionId);

            var hora = "" + DateTime.Now.Hour;

            if (hora.Length < 2)
            {
                hora = "0" + hora;
            }

            var minutos = "" + DateTime.Now.Minute;

            if (minutos.Length < 2)
            {
                minutos = "0" + minutos;
            }

            var    parte3 = hora + ":" + minutos;
            var    parte4 = "" + tua.Contador;
            string parte2;

            try
            {
                parte2 = DateTime.Now.ToString(tua.Mascara, CultureInfo.InvariantCulture);
            }
            catch
            {
                parte2 = DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture);
            }
            var parte1 = string.IsNullOrEmpty(tua.Prefijo)
                ? "TUA_" + GeneralCitaDto.TramiteUnidadAtencionId
                : tua.Prefijo;

            numeroFolio = numeroFolio.Replace("Parte1", parte1);
            numeroFolio = numeroFolio.Replace("Parte2", parte2);
            numeroFolio = numeroFolio.Replace("Parte3", parte3);
            numeroFolio = numeroFolio.Replace("Parte4", parte4);
            return(numeroFolio);
        }
        private string QueryStringReporte1(GeneralCitaDTO Filtros)
        {
            var consulta = " 1=1 ";

            consulta += FiltroContains(Filtros.NombrePaciente, "NombrePaciente");
            consulta += FiltroContains(Filtros.Apellido1Paciente, "Apellido1Paciente");
            consulta += FiltroContains(Filtros.Apellido2Paciente, "Apellido2Paciente");
            consulta += FiltroContains(Filtros.CURPPaciente, "CURPPaciente");
            consulta += FiltroContains(Filtros.CorreoPaciente, "CorreoPaciente");
            consulta += FiltroContains(Filtros.TelefonoPaciente, "TelefonoPaciente");
            consulta += FiltroContains(Filtros.CelularPaciente, "CelularPaciente");

            consulta += FiltroContains(Filtros.NombrePromovente, "NombrePromovente");
            consulta += FiltroContains(Filtros.Apellido1Promovente, "Apellido1Promovente");
            consulta += FiltroContains(Filtros.Apellido2Promovente, "Apellido2Promovente");
            consulta += FiltroContains(Filtros.CURPPromovente, "CURPPromovente");
            consulta += FiltroContains(Filtros.CorreoPromovente, "CorreoPromovente");
            consulta += FiltroContains(Filtros.TelefonoPromovente, "TelefonoPromovente");
            consulta += FiltroContains(Filtros.CelularPromovente, "CelularPromovente");

            consulta += FiltroNullable(Filtros.EsMasculinoPaciente, "EsMasculinoPaciente");
            consulta += FiltroNullable(Filtros.EsMasculinoPromovente, "EsMasculinoPromovente");
            consulta += FiltroNullable(Filtros.EsUsuarioBloqueadoPaciente, "EsUsuarioBloqueadoPaciente ");

            consulta += ListaConsulta(Filtros.CatTipoEdoCita, "CatTipoEdoCitaId");
            consulta += ListaConsulta(Filtros.CatTipoTramite, "CatTipoTramiteId");
            if (Filtros.UnidadAtencionId != 0)
            {
                consulta += " and UnidadAtencionId=" + Filtros.UnidadAtencionId + " ";
            }

            consulta += EdadRango(Filtros.EdadInicioPaciente, Filtros.EdadFinPaciente, "EdadPaciente");
            consulta += EdadRango(Filtros.EdadInicioPromovente, Filtros.EdadFinPromovente, "EdadPromovente");

            return(consulta);
        }
        public List <EstadoCitaCortoDTO> ListaReporte2(GeneralCitaDTO Filtros)
        {
            var reporteDao = new ColumnasDAO();

            return(reporteDao.ListaReporte2(Filtros));
        }
        /// <summary>
        /// Consulta del reporte gráfico
        /// </summary>
        /// <param name="Filtros"></param>
        /// <returns></returns>
        public List <EstadoCitaCortoDTO> ListaReporte2(GeneralCitaDTO Filtros)
        {
            List <int> listaAuxiliar;

            using (var modelo = new ISSSTEEntities())
            {
                var res = (from c in modelo.UnidadAtencion
                           join T in modelo.TramiteUnidadAtencion on c.UnidadAtencionId equals T.UnidadAtencionId
                           where c.EsActivo
                           select new EstadoCitaCortoDTO
                {
                    UnidadAtencionId = c.UnidadAtencionId,
                    Descripcion = c.Descripcion
                }).AsQueryable();

                //// Selección de Unidades de atención
                if (Filtros.UnidadAtencionId != 0)
                {
                    res = res.Where(R => R.UnidadAtencionId == Filtros.UnidadAtencionId);
                }
                var resultado = res.ToList().GroupBy(X => X.UnidadAtencionId).Select(Y => Y.FirstOrDefault()).ToList();

                //// Sí se quisiera opción multiple por tipo de trámite

                /*listaAuxiliar = !string.IsNullOrEmpty(Filtros.CatTipoTramite)
                 *  ? Array.ConvertAll(Filtros.CatTipoTramite.Split(','), int.Parse).ToList()
                 *  : modelo.CatTipoTramite.Select(S => S.CatTipoTramiteId).ToList();*/

                listaAuxiliar = Filtros.CatTipoTramiteId != 0
                    ? new List <int> ()
                {
                    Filtros.CatTipoTramiteId
                }
                    : modelo.CatTipoTramite.Select(S => S.CatTipoTramiteId).ToList();

                //// Sí se quisiera opción multiple por tipo de trámite
                //// var estadosCita = ListaConsultaEstados(Filtros.CatTipoEdoCita, modelo);

                var estadosCita = ListaConsultaEstados(null, Filtros.CatTipoEdoCitaId, modelo);

                DateTime?fechaInicioCita    = null,
                        fechaFinCita        = null,
                        fechaInicioRegistro = null,
                        fechaFinRegistro    = null;
                FechaRangoDate(ref fechaInicioCita, ref fechaFinCita, Filtros.FechaInicioCita, Filtros.FechaFinCita);
                FechaRangoDate(ref fechaInicioRegistro, ref fechaFinRegistro, Filtros.FechaInicioRegistro,
                               Filtros.FechaFinRegistro);

                if (fechaFinCita != null)
                {
                    fechaFinCita = ((DateTime)fechaFinCita).AddHours(23);
                    fechaFinCita = ((DateTime)fechaFinCita).AddMinutes(59);
                }

                if (fechaFinRegistro != null)
                {
                    fechaFinRegistro = ((DateTime)fechaFinRegistro).AddHours(23);
                    fechaFinRegistro = ((DateTime)fechaFinRegistro).AddMinutes(59);
                }

                resultado = resultado.Select(F =>
                {
                    var estados = new List <Tuple <string, int, string> >();
                    foreach (var edo in estadosCita)
                    {
                        var estado   = edo.Id;
                        var valor    = edo.Informacion;
                        var cantidad = modelo.Solicitud.Where(
                            A => A.CatTipoEdoCitaId == estado &&
                            listaAuxiliar.Contains(A.TramiteUnidadAtencion.CatTipoTramiteId) &&
                            A.TramiteUnidadAtencion.UnidadAtencionId == F.UnidadAtencionId &&

                            (!fechaInicioRegistro.HasValue || !fechaFinRegistro.HasValue ||
                             A.FechaRegistro > fechaInicioRegistro &&
                             A.FechaRegistro < fechaFinRegistro) &&
                            (!fechaInicioRegistro.HasValue || fechaFinRegistro.HasValue ||
                             A.FechaRegistro > fechaInicioRegistro) &&

                            (!fechaInicioCita.HasValue || !fechaFinCita.HasValue ||
                             A.FechaCita > fechaInicioCita && A.FechaCita < fechaFinCita) &&
                            (!fechaInicioCita.HasValue || fechaFinCita.HasValue ||
                             A.FechaCita > fechaFinCita))
                                       .Select(A => new EstadoCitaDTO
                        {
                            FechaCita     = A.FechaCita,
                            FechaRegistro = A.FechaRegistro
                        })
                                       .Distinct()
                                       .ToList()
                                       .Count;

                        estados.Add(Tuple.Create(valor, cantidad, edo.Valor));
                    }
                    F.Valores = estados;
                    return(F);
                })
                            .ToList();
                return(resultado);
            }
        }
        /// <summary>
        /// Consulta del reporte por filtros
        /// </summary>
        /// <param name="Filtros"></param>
        /// <returns></returns>
        public List <GeneralCitaDTO> ListaReporte1(GeneralCitaDTO Filtros)
        {
            List <GeneralCitaDTO> resultado;

            var consulta = QueryStringReporte1(Filtros);

            using (var modelo = new ISSSTEEntities())
            {
                var resultadoQuery = (from c in modelo.Solicitud
                                      join T in modelo.TramiteUnidadAtencion on c.TramiteUnidadAtencionId equals T
                                      .TramiteUnidadAtencionId
                                      join a in modelo.Involucrado on c.SolicitudId equals a.SolicitudId
                                      join b in modelo.Involucrado on c.SolicitudId equals b.SolicitudId
                                      where a.CatTipoInvolucradoId == Enumeracion.EnumTipoInvolucrado.Paciente &&
                                      b.CatTipoInvolucradoId == Enumeracion.EnumTipoInvolucrado.Promovente
                                      select new GeneralCitaDTO
                {
                    FechaRegistro = c.FechaRegistro,

                    FechaCita = c.FechaCita,
                    HoraCita = c.Horario.HoraInicio,

                    EstadoCita = c.CatTipoEdoCita.Concepto,
                    EstadoTramite = T.CatTipoTramite.Concepto,
                    ColorCita = c.CatTipoEdoCita.Semaforo,
                    ColorTramite = T.CatTipoTramite.Semaforo,
                    ConceptoUnidad = T.UnidadAtencion.Descripcion,

                    CatTipoTramiteId = T.CatTipoTramiteId,
                    CatTipoEdoCitaId = c.CatTipoEdoCitaId,
                    UnidadAtencionId = T.UnidadAtencionId,

                    NombrePaciente = a.Persona.Nombre,
                    Apellido1Paciente = a.Persona.Paterno,
                    Apellido2Paciente = a.Persona.Materno,
                    CURPPaciente = a.Persona.CURP,
                    EsMasculinoPaciente = a.Persona.EsMasculino,
                    GeneroPaciente = a.Persona.EsMasculino ? "Masculino" : "Femenino",
                    EdadPaciente = a.Persona.Edad,
                    CorreoPaciente = a.Persona.Correo,
                    TelefonoPaciente = (!string.IsNullOrEmpty(a.Persona.Lada) ? a.Persona.Lada + "-" : "") +
                                       a.Persona.Telefono,
                    CelularPaciente = a.Persona.TelefonoMovil,
                    EsUsuarioBloqueadoPaciente = a.Persona.EsUsuarioBloqueado,

                    NombrePromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Nombre,
                    Apellido1Promovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Paterno,
                    Apellido2Promovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Materno,
                    CURPPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.CURP,
                    EsMasculinoPromovente = b.PersonaId == a.PersonaId ? (bool?)null : b.Persona.EsMasculino,
                    GeneroPromovente = b.PersonaId == a.PersonaId
                         ? ""
                         : (b.Persona.EsMasculino ? "Masculino" : "Femenino"),
                    EdadPromovente = b.PersonaId == a.PersonaId ? 0 : b.Persona.Edad,
                    CorreoPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Correo,
                    TelefonoPromovente = b.PersonaId == a.PersonaId
                         ? ""
                         : (!string.IsNullOrEmpty(b.Persona.Lada) ? b.Persona.Lada + "-" : "")
                                         + b.Persona.Telefono,
                    CelularPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.TelefonoMovil
                }).Where(consulta).AsQueryable();

                resultado = (from c in modelo.Solicitud
                             join T in modelo.TramiteUnidadAtencion on c.TramiteUnidadAtencionId equals T
                             .TramiteUnidadAtencionId
                             join a in modelo.Involucrado on c.SolicitudId equals a.SolicitudId
                             join b in modelo.Involucrado on c.SolicitudId equals b.SolicitudId
                             where a.CatTipoInvolucradoId == Enumeracion.EnumTipoInvolucrado.Paciente &&
                             b.CatTipoInvolucradoId == Enumeracion.EnumTipoInvolucrado.Promovente
                             select new GeneralCitaDTO
                {
                    FechaRegistro = c.FechaRegistro,

                    FechaCita = c.FechaCita,
                    HoraCita = c.Horario.HoraInicio,

                    EstadoCita = c.CatTipoEdoCita.Concepto,
                    EstadoTramite = T.CatTipoTramite.Concepto,
                    ColorCita = c.CatTipoEdoCita.Semaforo,
                    ColorTramite = T.CatTipoTramite.Semaforo,
                    ConceptoUnidad = T.UnidadAtencion.Descripcion,

                    CatTipoTramiteId = T.CatTipoTramiteId,
                    CatTipoEdoCitaId = c.CatTipoEdoCitaId,
                    UnidadAtencionId = T.UnidadAtencionId,

                    NombrePaciente = a.Persona.Nombre,
                    Apellido1Paciente = a.Persona.Paterno,
                    Apellido2Paciente = a.Persona.Materno,
                    CURPPaciente = a.Persona.CURP,
                    EsMasculinoPaciente = a.Persona.EsMasculino,
                    GeneroPaciente = a.Persona.EsMasculino ? "Masculino" : "Femenino",
                    EdadPaciente = a.Persona.Edad,
                    CorreoPaciente = a.Persona.Correo,
                    TelefonoPaciente = (!string.IsNullOrEmpty(a.Persona.Lada) ? a.Persona.Lada + "-" : "") +
                                       a.Persona.Telefono,
                    CelularPaciente = a.Persona.TelefonoMovil,
                    EsUsuarioBloqueadoPaciente = a.Persona.EsUsuarioBloqueado,

                    NombrePromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Nombre,
                    Apellido1Promovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Paterno,
                    Apellido2Promovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Materno,
                    CURPPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.CURP,
                    EsMasculinoPromovente = b.PersonaId == a.PersonaId ? (bool?)null : b.Persona.EsMasculino,
                    GeneroPromovente = b.PersonaId == a.PersonaId
                                ? ""
                                : (b.Persona.EsMasculino ? "Masculino" : "Femenino"),
                    EdadPromovente = b.PersonaId == a.PersonaId ? 0 : b.Persona.Edad,
                    CorreoPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.Correo,
                    TelefonoPromovente = b.PersonaId == a.PersonaId
                                ? ""
                                : (!string.IsNullOrEmpty(b.Persona.Lada) ? b.Persona.Lada + "-" : "")
                                         + b.Persona.Telefono,
                    CelularPromovente = b.PersonaId == a.PersonaId ? "" : b.Persona.TelefonoMovil
                }).Where(consulta)
                            .Distinct()
                            .ToList();

                consulta = QueryStringReporte2(Filtros);

                resultado = resultado.Select(F =>
                {
                    F.HoraSolicitud      = TimeSpan.Parse("" + F.FechaRegistro.Hour + ":" + F.FechaRegistro.Minute);
                    F.HoraCitaTicks      = F.HoraCita.Ticks;
                    F.HoraSolicitudTicks = F.HoraSolicitud.Ticks;
                    F.FechaCitaTicks     = F.FechaCita.Ticks;
                    F.FechaRegistroTicks = F.FechaRegistro.Ticks;
                    F.FechaRegistroCad   = ("" + F.FechaRegistro).Split(' ')[0];
                    F.FechaCitaCad       = ("" + F.FechaCita).Split(' ')[0];
                    return(F);
                })
                            .AsQueryable()
                            .Where(consulta)
                            .Distinct()
                            .ToList();

                Filtros.TotalRegistros     = resultado.Count;
                Enumeracion.TotalRegistros = Filtros.TotalRegistros;

                if (Filtros.ConPaginadorController)
                {
                    resultado = resultado.Skip((Filtros.PaginaSolicitada - 1) * Filtros.RegistrosPorPagina)
                                .Take(Filtros.RegistrosPorPagina)
                                .Distinct()
                                .ToList();
                }
            }

            return(resultado);
        }
Exemplo n.º 17
0
        public string AgendarCita(GeneralCitaDTO GeneralCitaDto)
        {
            var citaDao = new CitaDAO();

            return(citaDao.AgendarCita(GeneralCitaDto));
        }
Exemplo n.º 18
0
        public string CancelarCita(GeneralCitaDTO GeneralCitaDto)
        {
            var citaDao = new CitaDAO();

            return(citaDao.CancelarCita(GeneralCitaDto));
        }
        public List <GeneralCitaDTO> ListaReporte1(GeneralCitaDTO Filtros)
        {
            var reporteDao = new ColumnasDAO();

            return(reporteDao.ListaReporte1(Filtros));
        }