Beispiel #1
0
 public async Task <IActionResult> AgendarCitas(string id)
 {
     try
     {
         var datos = id.Split(",");
         AscqViewModelMedico AscqViewModelMedico = new AscqViewModelMedico();
         var session = HttpContext.Session.GetString("DatosPaciente");
         if (session != null)
         {
             AscqViewModelMedico = JsonConvert.DeserializeObject <AscqViewModelMedico>(session);
         }
         AscqViewModelMedico = JsonConvert.DeserializeObject <AscqViewModelMedico>(session);
         CqasCita citas = new CqasCita();
         citas.CodigoPaciente           = AscqViewModelMedico.Codigo;
         citas.CodigoConsultorioHorario = Convert.ToInt32(datos[0]);
         citas.Fecha     = AscqViewModelMedico.Fecha;
         citas.HoraIncio = TimeSpan.Parse(datos[1]);
         citas.HoraFin   = TimeSpan.Parse(datos[2]);
         citas.Estado    = "A";
         if (!CitasPaciente(citas))
         {
             _context.CqasCita.Add(citas);
             await _context.SaveChangesAsync();
         }
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Beispiel #2
0
        public IActionResult Especialidades(string id)
        {
            Combox();
            AscqViewModelMedico datosmedico = new AscqViewModelMedico();

            try
            {
                var DatosMedico = _context.CqasMedico.Where(y => y.Codigo == Convert.ToInt32(id)).FirstOrDefault();
                if (DatosMedico != null)
                {
                    var medico1 = _context.CqasPersona.Where(y => y.Codigo == DatosMedico.CodigoPersona).Select(x => new AscqViewModelMedico
                    {
                        Codigo        = DatosMedico.Codigo,
                        CodigoPersona = x.Codigo,
                        NombreMedico  = string.Format("{0} {1}", x.Nombre, x.Apellido)
                    }).FirstOrDefault();

                    var especialidades = _context.CqasMedicoEspecialidad.Where(y => y.CodigoMedico == DatosMedico.Codigo).Select(x => new AscqViewModelEpecialidad
                    {
                        Codigo      = x.Codigo,
                        Descripcion = x.CodigoEspecialidadNavigation.Descripcion,
                        Estado      = x.CodigoEspecialidadNavigation.Estado
                    }).ToList();
                    datosmedico.ListaEspecialidades = especialidades;
                    datosmedico.NombreMedico        = medico1.NombreMedico;
                    datosmedico.CodigoMedico        = medico1.Codigo;
                    datosmedico.CodigoPersona       = medico1.CodigoPersona;
                }
                return(View(datosmedico));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #3
0
        //public IActionResult Agendar(string id)
        //{
        //    try
        //    {
        //        AscqViewModelMedico paciente = JsonConvert.DeserializeObject<AscqViewModelMedico>(HttpContext.Session.GetString("DatosPaciente"));
        //        var aaaa = _context.AscqHorario.ToList();

        //        return View(aaaa);
        //    }
        //    catch (Exception ex)
        //    {
        //        return BadRequest();
        //    }
        //}
        public IActionResult Consultorios(string id)
        {
            try
            {
                AscqViewModelMedico Especialidad = new AscqViewModelMedico();
                Combox();
                Especialidad = _context.CqasMedicoEspecialidad.Select(x => new AscqViewModelMedico
                {
                    Codigo             = x.Codigo,
                    CodigoMedico       = x.CodigoMedico,
                    NombreMedico       = string.Format("{0} {1}", x.CodigoMedicoNavigation.CodigoPersonaNavigation.Nombre, x.CodigoMedicoNavigation.CodigoPersonaNavigation.Apellido),
                    NombreEspecialidad = x.CodigoEspecialidadNavigation.Descripcion
                                         //NombreConsultorio = x.CodigoConsultorioNavigation.Descripcion
                }).Where(s => s.Codigo == Convert.ToInt32(id)).FirstOrDefault();
                if (Especialidad != null)
                {
                    var espe = _context.CqasAsignacionConsultorio.Where(x => x.CodigoMedicoEspecialidad == Especialidad.Codigo).FirstOrDefault();
                    if (espe != null)
                    {
                        Especialidad.ListaConsultorios = _context.CqasConsultorio.Where(x => x.Codigo == espe.CodigoConsultorio).ToList();
                        Especialidad.CodigoConsultorio = Especialidad.ListaConsultorios.FirstOrDefault().Codigo;
                    }
                }
                return(View(Especialidad));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #4
0
        public bool ExisteEspecialidadesMedico(AscqViewModelMedico ascqViewModelMedico)
        {
            bool respuesta = false;

            if (_context.CqasMedicoEspecialidad.Any(x => x.CodigoEspecialidad == ascqViewModelMedico.CodigoEspecialista && x.CodigoMedico == ascqViewModelMedico.CodigoMedico))
            {
                respuesta = true;
            }
            return(respuesta);
        }
Beispiel #5
0
        public bool ExisteCitasAgendad(AscqViewModelMedico ascqViewModelMedico)
        {
            bool respuesta = false;

            //if (_context.AscqCita.Any(x => x.CodigoPaciente == ascqViewModelMedico.Codigo && x.CodigoAsignacionConsultorio == ascqViewModelMedico.CodigoEspecialista))
            //{
            //    respuesta = true;
            //}
            return(respuesta);
        }
Beispiel #6
0
        public bool ExisteAsignacionConsultorio(AscqViewModelMedico ascqViewModelMedico)
        {
            bool respuesta = false;

            if (_context.CqasAsignacionConsultorio.Any(x => x.CodigoConsultorio == ascqViewModelMedico.CodigoConsultorio))
            {
                respuesta = true;
            }
            return(respuesta);
        }
Beispiel #7
0
        public IActionResult Index(AscqViewModelMedico ModelMedico)
        {
            AscqViewModelUsuario usuariologer = new AscqViewModelUsuario();
            var session = HttpContext.Session.GetString("DatosUsuario");

            if (session != null)
            {
                usuariologer = JsonConvert.DeserializeObject <AscqViewModelUsuario>(session);
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }

            CqasMedico          datospersona             = new CqasMedico();
            AscqViewModelMedico ascqViewModelMedico      = new AscqViewModelMedico();
            List <AscqViewModelCitasPaciente> listacitas = new List <AscqViewModelCitasPaciente>();

            try
            {
                ascqViewModelMedico.Fecha = ModelMedico.Fecha;
                if (usuariologer != null)
                {
                    datospersona = _context.CqasMedico.Where(s => s.CodigoPersona == usuariologer.CodigoPersona).FirstOrDefault();

                    if (datospersona != null)
                    {
                        listacitas = _context.CqasCita
                                     .Select(x => new AscqViewModelCitasPaciente
                        {
                            Codigo        = x.Codigo,
                            Fecha         = x.Fecha.ToString("dd/MM/yyyy"),
                            Hora          = x.HoraIncio,
                            NombrePersona = string.Format("{0} {1}", x.CodigoPacienteNavigation.CodigoPersonaNavigation.Nombre, x.CodigoPacienteNavigation.CodigoPersonaNavigation.Apellido),
                            CodigoMedico  = x.CodigoConsultorioHorarioNavigation.CodigoConsultorioAsignadoNavigation.CodigoMedicoEspecialidadNavigation.CodigoMedicoNavigation.Codigo
                        }).Where(s => s.CodigoMedico == datospersona.Codigo && s.Fecha == ascqViewModelMedico.Fecha.ToString("dd/MM/yyyy")).ToList();
                        if (listacitas.Count > 0)
                        {
                            ascqViewModelMedico.ListaPaciente = new List <AscqViewModelCitasPaciente>();
                            ascqViewModelMedico.ListaPaciente.AddRange(listacitas);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(View(ascqViewModelMedico));
            }
            return(View(ascqViewModelMedico));
        }
Beispiel #8
0
        //public IActionResult Horarios()
        //{
        //    try
        //    {
        //        AscqViewModelMedico paciente = JsonConvert.DeserializeObject<AscqViewModelMedico>(HttpContext.Session.GetString("DatosPaciente"));
        //        var aaaa = _context.AscqHorario.ToList();

        //        return View(aaaa);
        //    }
        //    catch (Exception ex)
        //    {
        //        return BadRequest();
        //    }
        //}
        public void Datos(AscqViewModelMedico ascqViewModelMedico)
        {
            var citasdisponibles = _context.CqasMedicoCitas.Where(s => s.CodigoAsignacionConsultorio == ascqViewModelMedico.CodigoEspecialista).FirstOrDefault();

            if (citasdisponibles != null)
            {
                var mesesActual = DateTime.Now.Day;
                var diaActual   = DateTime.Now.Day;

                var mesesFinal = citasdisponibles.FechaFin.Month;
                var diaFinal   = citasdisponibles.FechaFin.Day;
                if (mesesActual >= mesesFinal && diaActual <= diaFinal)
                {
                    var dias = diaFinal - diaActual;
                }
            }
        }
Beispiel #9
0
        public async Task <IActionResult> Especialidades(AscqViewModelMedico ascqViewModelMedico)
        {
            try
            {
                if (!ExisteEspecialidadesMedico(ascqViewModelMedico))
                {
                    CqasMedicoEspecialidad nuevomedicoespecialidad = new CqasMedicoEspecialidad();
                    nuevomedicoespecialidad.CodigoMedico       = ascqViewModelMedico.CodigoMedico;
                    nuevomedicoespecialidad.CodigoEspecialidad = ascqViewModelMedico.CodigoEspecialista;
                    nuevomedicoespecialidad.Estado             = 1;
                    _context.CqasMedicoEspecialidad.Add(nuevomedicoespecialidad);
                    await _context.SaveChangesAsync();
                }

                return(RedirectToAction("Especialidades", new { id = ascqViewModelMedico.CodigoMedico }));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #10
0
        public IActionResult Index(AscqViewModelMedico ascqViewModelMedico)
        {
            AscqViewModelMedico datospersona = new AscqViewModelMedico();

            try
            {
                Combox();

                if (!ExisteCitasAgendad(ascqViewModelMedico))
                {
                    Datos(ascqViewModelMedico);
                    var aw = _context.CqasAsignacionConsultorio.Where(s => s.Codigo == ascqViewModelMedico.CodigoEspecialista).FirstOrDefault();
                    if (aw != null)
                    {
                        var aww = _context.CqasMedicoEspecialidad.Where(s => s.Codigo == aw.CodigoMedicoEspecialidad).FirstOrDefault();
                        if (aww != null)
                        {
                            var aa = _context.CqasMedicoEspecialidad.Where(s => s.CodigoEspecialidad == aww.CodigoEspecialidad).Select(x => new AscqViewModelMedicoEspecialidad
                            {
                                NombreMedico       = string.Format("{0} {1}", x.CodigoMedicoNavigation.CodigoPersonaNavigation.Nombre, x.CodigoMedicoNavigation.CodigoPersonaNavigation.Apellido),
                                NombreEspecialidad = x.CodigoEspecialidadNavigation.Descripcion,
                            }).ToList();
                            // Ascqmedicocitas citasdisponibles = _context.Ascqmedicocitas.Where(s => s.CodigoAsignacionConsultorio == aw.Codigo).FirstOrDefault();

                            datospersona.Cedula             = ascqViewModelMedico.Cedula;
                            datospersona.NombrePersona      = ascqViewModelMedico.NombrePersona;
                            datospersona.CodigoEspecialista = ascqViewModelMedico.CodigoEspecialista;
                            datospersona.ListaMedicos       = aa;
                        }
                    }
                }
                // variable de session datos paciente
                HttpContext.Session.SetString("DatosPaciente", JsonConvert.SerializeObject(datospersona));
            }
            catch (Exception ex)
            {
                throw;
            }
            return(View(datospersona));
        }
Beispiel #11
0
        public IActionResult Index(AscqViewModelMedico ascqViewModelMedico)
        {
            AscqViewModelMedico datospersona = new AscqViewModelMedico();

            try
            {
                Combox();

                if (Convert.ToDateTime(ascqViewModelMedico.Fecha.ToShortDateString()) < Convert.ToDateTime(DateTime.Now.ToShortDateString()))
                {
                    return(RedirectToAction("Index", new { mensaje = "La fecha es incorecta" }));
                }
                if (!ExisteCitasAgendad(ascqViewModelMedico))
                {
                    var Medicos = _context.CqasAsignacionConsultorio.Where(s => s.Codigo == ascqViewModelMedico.CodigoEspecialista).Select(x => new AscqViewModelMedicoEspecialidad
                    {
                        Codigo             = x.Codigo,
                        NombreMedico       = string.Format("{0} {1}", x.CodigoMedicoEspecialidadNavigation.CodigoMedicoNavigation.CodigoPersonaNavigation.Nombre, x.CodigoMedicoEspecialidadNavigation.CodigoMedicoNavigation.CodigoPersonaNavigation.Apellido),
                        NombreEspecialidad = x.CodigoMedicoEspecialidadNavigation.CodigoEspecialidadNavigation.Descripcion
                    }).ToList();

                    datospersona.Codigo             = ascqViewModelMedico.Codigo;
                    datospersona.Cedula             = ascqViewModelMedico.Cedula;
                    datospersona.NombrePersona      = ascqViewModelMedico.NombrePersona;
                    datospersona.CodigoEspecialista = ascqViewModelMedico.CodigoEspecialista;
                    datospersona.CodigoConsultorio  = ascqViewModelMedico.CodigoEspecialista;
                    datospersona.Fecha        = ascqViewModelMedico.Fecha;
                    datospersona.ListaMedicos = Medicos;
                }
                // variable de session datos paciente
                HttpContext.Session.SetString("DatosPaciente", JsonConvert.SerializeObject(ascqViewModelMedico));
            }
            catch (Exception ex)
            {
                throw;
            }
            InicializarMensaje("");
            return(View(datospersona));
        }
Beispiel #12
0
        public IActionResult Index(string mensaje)
        {
            InicializarMensaje(mensaje);
            AscqViewModelUsuario usuariologer = new AscqViewModelUsuario();

            Combox();
            var session = HttpContext.Session.GetString("DatosUsuario");

            if (session != null)
            {
                usuariologer = JsonConvert.DeserializeObject <AscqViewModelUsuario>(session);
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }

            AscqViewModelMedico datospersona = new AscqViewModelMedico();

            try
            {
                if (usuariologer != null)
                {
                    datospersona = _context.CqasPaciente.Select(x => new AscqViewModelMedico
                    {
                        Codigo        = x.Codigo,
                        CodigoPersona = x.CodigoPersona,
                        Cedula        = x.CodigoPersonaNavigation.Cedula,
                        Fecha         = DateTime.Now,
                        NombrePersona = string.Format("{0} {1}", x.CodigoPersonaNavigation.Nombre, x.CodigoPersonaNavigation.Apellido)
                    }).Where(s => s.CodigoPersona == usuariologer.CodigoPersona).FirstOrDefault();
                }
                return(View(datospersona));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #13
0
        public async Task <IActionResult> Consultorios(AscqViewModelMedico ascqViewModelMedico)
        {
            try
            {
                //if (!ExisteAsignacionConsultorio(ascqViewModelMedico))
                //{
                CqasAsignacionConsultorio nuevomedicoespecialidad = new CqasAsignacionConsultorio();
                nuevomedicoespecialidad.CodigoMedicoEspecialidad = ascqViewModelMedico.Codigo;
                nuevomedicoespecialidad.CodigoConsultorio        = ascqViewModelMedico.CodigoConsultorio;
                nuevomedicoespecialidad.Estado = "A";
                _context.CqasAsignacionConsultorio.Add(nuevomedicoespecialidad);
                await _context.SaveChangesAsync();

                //}
                return(RedirectToAction("Consultorios", new { id = ascqViewModelMedico.Codigo }));
            }
            catch (Exception ex)
            {
                Combox();
                return(BadRequest());
            }
        }
Beispiel #14
0
        //public IActionResult Horarios()


        public IActionResult TurnosDisponibles(string id)
        {
            AscqViewModelMedico AscqViewModelMedico = new AscqViewModelMedico();
            var session = HttpContext.Session.GetString("DatosPaciente");

            if (session != null)
            {
                AscqViewModelMedico = JsonConvert.DeserializeObject <AscqViewModelMedico>(session);
            }
            AscqViewModelMedico = JsonConvert.DeserializeObject <AscqViewModelMedico>(session);
            List <CqasConsultorioHorario> LstTurnos = new List <CqasConsultorioHorario>();

            AscqViewModelMedico.CodigoMedico = Convert.ToInt32(id);
            // variable de session datos paciente
            HttpContext.Session.SetString("DatosPaciente", JsonConvert.SerializeObject(AscqViewModelMedico));

            var fecha  = Convert.ToDateTime(AscqViewModelMedico.Fecha);
            var dia    = fecha.ToString("dddd").ToUpper();
            var consul = _context.CqasConsultorioHorario.Where(x => x.CodigoConsultorioAsignado == Convert.ToInt32(id) && x.Dia == dia).ToList();

            foreach (var item in consul)
            {
                var Totalhoras   = item.HoraFin - item.HoraInicio;
                var TotalMinutos = Totalhoras.TotalMinutes;
                var turnos       = TotalMinutos / 20;
                var horasalir    = item.HoraInicio;
                for (int i = 0; i < turnos; i++)
                {
                    CqasConsultorioHorario diass = new CqasConsultorioHorario();
                    diass.Codigo     = item.Codigo;
                    diass.HoraInicio = horasalir;
                    horasalir        = horasalir + TimeSpan.FromMinutes(20);
                    diass.HoraFin    = horasalir;
                    LstTurnos.Add(diass);
                }
            }
            return(View(CitasAgendadas(LstTurnos, fecha)));
        }
Beispiel #15
0
        public async Task <IActionResult> Consultorios(AscqViewModelMedico ascqViewModelMedico)
        {
            try
            {
                if (!ExisteAsignacionConsultorio(ascqViewModelMedico))
                {
                    CqasAsignacionConsultorio nuevomedicoespecialidad = new CqasAsignacionConsultorio();
                    nuevomedicoespecialidad.CodigoMedicoEspecialidad = ascqViewModelMedico.Codigo;
                    nuevomedicoespecialidad.CodigoConsultorio        = ascqViewModelMedico.CodigoConsultorio;
                    nuevomedicoespecialidad.Estado = "A";
                    _context.CqasAsignacionConsultorio.Add(nuevomedicoespecialidad);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Consultorios", new { id = ascqViewModelMedico.Codigo, mensaje = "Asignado Exitosamente" }));
                }
                return(RedirectToAction("Consultorios", new { id = ascqViewModelMedico.Codigo, mensaje = "Consultorio ya asignado" }));
            }
            catch (Exception)
            {
                Combox();
                return(RedirectToAction("Consultorios", new { id = ascqViewModelMedico.Codigo }));
            }
        }