private Dictionary <string, object> ParametrosEliminarReserva(SolicitudAsistenciaTecnica solicitud)
 {
     return(new Dictionary <string, object>
     {
         { "@SolicitudId", solicitud.Id.AsInt() }
     });
 }
 public void LiberarNoEscogidos(SolicitudAsistenciaTecnica solicitud, List <Turno> turnos)
 {
     _repositorio.EliminarReserva(solicitud);
     turnos.Where(t => !t.TurnoId.Equals(solicitud.Turno.Id))
     .ToList()
     .ForEach(t => _repositorio.Eliminar(t.Id));
 }
 public List <Turno> ObtenerPorSolicitud(SolicitudAsistenciaTecnica solicitud)
 {
     return(_accesoADatos.Leer("ObtenerTurnoPorSolicitud", ParametrosPorSolicitud(solicitud))
            .AsEnumerable()
            .Select(ToTurno)
            .ToList());
 }
        public Turno GuardarConReserva(SolicitudAsistenciaTecnica solicitud, Turno turno)
        {
            var guardado = Guardar(turno);

            _accesoADatos.Escribir("GuardarTurnoConReserva", CrearParametrosGuardarConReserva(solicitud, guardado));
            return(guardado);
        }
        public List <Turno> OfrecerTurno(SolicitudAsistenciaTecnica solicitud)
        {
            var turnosDisponibles = _agendaServicio.TurnosDisponibles();
            var mejoresTurnos     = _colaTurnosServicio.BuscarMejoresTurnos(turnosDisponibles, solicitud);

            return(_agendaServicio.Reservar(solicitud, mejoresTurnos));
        }
 private Dictionary <string, object> CrearParametrosGuardarConReserva(SolicitudAsistenciaTecnica solicitud, Turno turno)
 {
     return(new Dictionary <string, object>
     {
         { "@TurnoId", turno.Id.AsInt() },
         { "@SolicitudId", solicitud.Id.AsInt() }
     });
 }
        public void ConfirmarTurno(SolicitudAsistenciaTecnica solicitud)
        {
            var turnos = _turnoServicio.ObtenerTurnosReservador(solicitud);

            _solicitudAsistenciaRepositorio.Actualizar(solicitud);
            _turnoServicio.LiberarNoEscogidos(solicitud, turnos);
            _asistenciaTecnicaRepositorio.Guardar(solicitud.CrearAsistencia());
            _estadisticasAsistenciaTecnicaServicio.ComputarEstadisticas(solicitud);
        }
        public void ComputarEstadisticas(SolicitudAsistenciaTecnica solicitud)
        {
            if (solicitud.TipoProblema.Nombre != "Falla Hardware")
            {
            }

            var valoresActuales = _estadisticasAsistenciasTecnicas.ObtenerUltima();
            var nuevosValores   = valoresActuales.Calcular(solicitud);

            _estadisticasAsistenciasTecnicas.Actualizar(nuevosValores);
        }
Example #9
0
        public List <Turno> BuscarMejoresTurnos(List <Turno> turnosDisponibles, SolicitudAsistenciaTecnica solicitud)
        {
            var entradas = _cola.ObtenerEntradas();
            var cola     = new ColaTurnos(new ColaTurnoId(1), entradas);

            turnosDisponibles.Select(t => new EntradaCola(t, solicitud))
            .ToList()
            .ForEach(e => cola.Agregar(e));
            cola.Repriorizar();
            var turnos = cola.ExtraerTurnos(solicitud);

            _cola.GuardarCola(cola);
            return(turnos);
        }
Example #10
0
        public void SolicitarTurno()
        {
            try
            {
                var usuario     = Sesion.Instance.Usuario;
                var descripcion = _vista.Descripcion;
                var tipoProblemaSeleccionado = _vista.TipoProblemaSeleccionado.ToEntitty();

                _solicitud = new SolicitudAsistenciaTecnica(usuario, descripcion, tipoProblemaSeleccionado);
                var turnos = _servicio.SolicitarTurno(_solicitud);

                _vista.Turnos  = turnos.Select(TurnoModelo.From).ToList();
                _vista.Seconds = 120;
                _vista.IniciarTimer();
                _vista.ConfirmarHabilitado = true;
            }
            catch (Exception e)
            {
                _vista.MostrarExcepcion(e);
            }
        }
 public List <Turno> ObtenerTurnosReservados(SolicitudAsistenciaTecnica solicitud)
 {
     return(_repositorio.ObtenerPorSolicitud(solicitud));
 }
 public List <Turno> Reservar(SolicitudAsistenciaTecnica solicitud, List <Turno> mejoresTurnos)
 {
     return(mejoresTurnos.Select(t => _repositorio.GuardarConReserva(solicitud, t)).ToList());
 }
 public void EliminarReserva(SolicitudAsistenciaTecnica solicitud)
 {
     _accesoADatos.Escribir("EliminarReserva", ParametrosEliminarReserva(solicitud));
 }
 public void LiberarNoEscogidos(SolicitudAsistenciaTecnica solicitud, List <Turno> turnos)
 {
     _agendaServicio.LiberarNoEscogidos(solicitud, turnos);
 }
 public List <Turno> ObtenerTurnosReservador(SolicitudAsistenciaTecnica solicitud)
 {
     return(_agendaServicio.ObtenerTurnosReservados(solicitud));
 }
        public List <Turno> SolicitarTurno(SolicitudAsistenciaTecnica solicitud)
        {
            var guardada = _solicitudAsistenciaRepositorio.Guardar(solicitud);

            return(_turnoServicio.OfrecerTurno(guardada));
        }