Exemple #1
0
        public CalculadorPreciosModel CalcularPrecioTotalCurso(Guid idCursoSeleccionado, int tipoDeHospedajeSeleccionado, int idSemanaInicialSeleccionada, int idSemanaFinalSeleccionada)
        {
            var calculoPrecioCurso = _contexto.Cursos.Where(x => x.IdCurso == idCursoSeleccionado)
                                     .Select(x => new
            {
                precioHospedaje = x.PrecioPorHospedajesPorCursosPorSemanas
                                  .Where(y => y.IdTipoDeHospedaje == tipoDeHospedajeSeleccionado && y.NumSemana >= idSemanaInicialSeleccionada && y.NumSemana <= idSemanaFinalSeleccionada)
                                  .Select(y => y.Precio).Sum(),
                precioCurso = x.PrecioPorCursosPorSemanas
                              .Where(y => y.NumSemana >= idSemanaInicialSeleccionada && y.NumSemana <= idSemanaFinalSeleccionada)
                              .Select(y => y.Precio).Sum()
            }).Single();

            CalculadorPreciosModel model = new CalculadorPreciosModel
            {
                Cursos = _contexto.Cursos.ToDictionary(x => x.IdCurso, x => x.Nombre),
                IdCursoSeleccionado         = idCursoSeleccionado,
                TiposDeHospedaje            = _contexto.TipoHospedaje.ToDictionary(x => x.Id, x => x.Nombre),
                TipoDeHospedajeSeleccionado = tipoDeHospedajeSeleccionado,
                IdSemanaInicialSeleccionada = idSemanaInicialSeleccionada,
                IdSemanaFinalSeleccionada   = idSemanaFinalSeleccionada,
                PrecioCurso     = calculoPrecioCurso.precioCurso,
                PrecioHospedaje = calculoPrecioCurso.precioHospedaje,
                PrecioTotal     = calculoPrecioCurso.precioCurso + calculoPrecioCurso.precioHospedaje
            };

            return(model);
        }
        public CalculadorPreciosModel ObtenerDatosParaCalcularPrecio()
        {
            var model = new CalculadorPreciosModel
            {
                Cursos           = _repositorio.ObtenerCursosDiccionario(),
                SemanasIniciales = RellenarSemanas(),
                SemanasFinales   = RellenarSemanas(),
                TiposDeHospedaje = _repositorio.ObtenerTiposDeHospedajeDiccionario(),
                PrecioCurso      = 0,
                PrecioHospedaje  = 0,
                PrecioTotal      = 0
            };

            return(model);
        }
        public IActionResult CalcularPrecios(CalculadorPreciosModel model)
        {
            var modelPrecios = _servicio.CalcularPrecioTotalCurso(model.IdCursoSeleccionado, model.TipoDeHospedajeSeleccionado, model.IdSemanaInicialSeleccionada, model.IdSemanaFinalSeleccionada);

            return(View(modelPrecios));
        }