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)); }