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)); }
/// <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); }
/// <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); }
/// <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]); } }
/// <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); }
/// <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); }
public string AgendarCita(GeneralCitaDTO GeneralCitaDto) { var citaDao = new CitaDAO(); return(citaDao.AgendarCita(GeneralCitaDto)); }
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)); }