Example #1
0
        public CitaResponse CrearCita(CitaRequest request)
        {
            Cita cita           = _unitOfWork.CitaRepository.FindFirstOrDefault(C => C.Id == request.Id);
            var  Disponibilidad = request.Medico.Verificar_disponibilidad(request.Fecha, request.Minuto, request.Hora);
            var  fecha          = _unitOfWork.CitaRepository.FindBy(C => C.Fecha == request.Fecha && C.Hora == request.Hora && C.Minuto == request.Minuto).ToList();

            if (cita == null && fecha == null && Disponibilidad)
            {
                Cita NuevaCita = new Cita();
                NuevaCita.Medico   = request.Medico;
                NuevaCita.Paciente = request.Paciente;
                NuevaCita.Fecha    = request.Fecha;
                NuevaCita.Hora     = request.Hora;
                NuevaCita.Minuto   = request.Minuto;
                // NuevaCita.fecha = new DateTime();
                _unitOfWork.CitaRepository.Add(NuevaCita);
                _unitOfWork.Commit();
                // _unitOfWork.Dispose();
                return(new CitaResponse()
                {
                    Message = $"Se Registro"
                });
            }
            else
            {
                return(new CitaResponse()
                {
                    Message = $"No  Registro Compa"
                });
            }
        }
Example #2
0
        public CitaResponse CrearCita(CitaRequest request)
        {
            var paciente_prueba = _unitOfWork.IPacienteRepository.FindBy(p => p.Identificacion == request.Idpaciente, includeProperties: "Medico").ToList();
            var Paciente        = _unitOfWork.IPacienteRepository.FindFirstOrDefault(P => P.Identificacion == request.Idpaciente);
            var Medico          = Paciente.Medico;

            if (Medico == null)
            {
                return(new CitaResponse()
                {
                    Message = $"Aun no se le ha asignado un medico, vaya a la opcion --> asociar medico"
                });
            }

            Cita cita = _unitOfWork.CitaRepository.FindFirstOrDefault(C => C.Fecha == request.Fecha && C.Hora == request.Hora && C.Minuto == request.Minuto && C.Medico == Medico);

            if (cita != null)
            {
                return(new CitaResponse()
                {
                    Message = $"Esta hora ya esta ocupada, seleccione otra"
                });
            }


            Cita NuevaCita = new Cita();

            NuevaCita.Medico   = Medico;
            NuevaCita.Paciente = Paciente;
            NuevaCita.Fecha    = request.Fecha;
            NuevaCita.Hora     = request.Hora;
            NuevaCita.Minuto   = request.Minuto;
            NuevaCita.Estado   = "pendiente";
            _unitOfWork.CitaRepository.Add(NuevaCita);
            _unitOfWork.Commit();

            return(new CitaResponse()
            {
                Message = $"Se Registro su cita con el medico : {Medico.Apellidos} {Medico.Nombres}"
            });
        }