/// <summary> /// Rellena la lista Resumen con los componentes seleccionados. /// </summary> /// <param name="placabaseSeleccionado"></param> /// <param name="procesadorSeleccionado"></param> /// <param name="chasisSeleccionado"></param> /// <param name="ramSeleccionada"></param> /// <param name="tarjetagraficaSeleccionada"></param> /// <returns>La colección de los componentes seleccionados.</returns> public static async Task <List <Object> > RellenarLista(String placabaseSeleccionado, String procesadorSeleccionado, String chasisSeleccionado, String ramSeleccionada, String tarjetagraficaSeleccionada) { // A partir de los nombres de los componentes seleccionados, los buscamos en la base de datos, y sacamos todos los datos de cada componente. PlacaBase placabase = await PlacaBase_Repository.ComprobarNombre(placabaseSeleccionado); Procesador procesador = await Procesador_Repository.ComprobarNombre(procesadorSeleccionado); Chasis chasis = await Chasis_Repository.ComprobarNombre(chasisSeleccionado); RAM ram = await RAM_Repository.ComprobarNombre(ramSeleccionada); TarjetaGrafica tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarNombre(tarjetagraficaSeleccionada); // Metemos en una colección los componentes. Ya con DataBinding la propia lista Resumen sabrá qué propiedades debe mostrar. List <Object> LineasResumen = new List <Object> { placabase, procesador, chasis, ram, tarjetaGrafica }; return(LineasResumen); }
/// <summary> /// Comprueba si existe la placa base recibida por parametro /// </summary> /// <param name="producto">Placa base</param> /// <returns>Producto o null</returns> public static async Task <PlacaBase> ComprobarId(PlacaBase producto) { PlacaBase placa; ObservableCollection <PlacaBase> placas = new ObservableCollection <PlacaBase>(await App.placaBaseRepository.GetAllPlacasBaseAsync()); placa = placas.SingleOrDefault(p => p.Id == producto.Id); return(placa); }
static void Main(string[] args) { Console.WriteLine("***Datos del equipo**"); AdministradorEquipo admin = new ProoOfConceptInfo.AdministradorEquipo("XPS-1330"); PlacaBase pb = admin.getPlacaBase(); Console.WriteLine("Serial:" + pb.Serial); Console.WriteLine("Descripción: " + pb.Descripcion); Console.ReadKey(); }
/// <summary> /// Calcula el precio total de un pedido que pasamos por parámetro. /// </summary> /// <param name="pedido">El pedido al que le queremos sacar el total.</param> /// <returns>El precio total de todos los componentes del pedido.</returns> private async Task <float> CalcularTotalAsync(Pedido pedido) { PlacaBase placabase = await PlacaBase_Repository.ComprobarId(pedido.PlacaBase); Procesador procesador = await Procesador_Repository.ComprobarId(pedido.Procesador); Chasis chasis = await Chasis_Repository.ComprobarId(pedido.Chasis); RAM ram = await RAM_Repository.ComprobarId(pedido.RAM); TarjetaGrafica tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarId(pedido.TarjetaGrafica); return(placabase.Precio + procesador.Precio + chasis.Precio + ram.Precio + tarjetaGrafica.Precio); }
/// <summary> /// Recoje los elementos seleccionados e introduce en la base de datos un nuevo pedido. /// </summary> /// <param name="placabaseSeleccionado"></param> /// <param name="procesadorSeleccionado"></param> /// <param name="chasisSeleccionado"></param> /// <param name="ramSeleccionada"></param> /// <param name="tarjetagraficaSeleccionada"></param> /// <returns></returns> public async Task GenerarPedido(String placabaseSeleccionado, String procesadorSeleccionado, String chasisSeleccionado, String ramSeleccionada, String tarjetagraficaSeleccionada) { // A partir de los nombres de los componentes seleccionados, los buscamos en la base de datos, y sacamos todos los datos de cada componente. PlacaBase placabase = await PlacaBase_Repository.ComprobarNombre(placabaseSeleccionado); Procesador procesador = await Procesador_Repository.ComprobarNombre(procesadorSeleccionado); Chasis chasis = await Chasis_Repository.ComprobarNombre(chasisSeleccionado); RAM ram = await RAM_Repository.ComprobarNombre(ramSeleccionada); TarjetaGrafica tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarNombre(tarjetagraficaSeleccionada); // Con estos componentes, los pasamos a la base de datos y queda el pedido realizado. await App.Pedido_Repository.AddNewPedidoAsync(Usuario, placabase, procesador, tarjetaGrafica, ram, chasis); }
/// <summary> /// Calcula el total de todos los componentes seleccionados. /// </summary> /// <param name="placabaseSeleccionado"></param> /// <param name="procesadorSeleccionado"></param> /// <param name="chasisSeleccionado"></param> /// <param name="ramSeleccionada"></param> /// <param name="tarjetagraficaSeleccionada"></param> /// <returns>La suma de todos los componentes seleccionados.</returns> public static async Task <String> ObtenerTotal(String placabaseSeleccionado, String procesadorSeleccionado, String chasisSeleccionado, String ramSeleccionada, String tarjetagraficaSeleccionada) { // A partir de los nombres de los componentes seleccionados, los buscamos en la base de datos, y sacamos todos los datos de cada componente. PlacaBase placabase = await PlacaBase_Repository.ComprobarNombre(placabaseSeleccionado); Procesador procesador = await Procesador_Repository.ComprobarNombre(procesadorSeleccionado); Chasis chasis = await Chasis_Repository.ComprobarNombre(chasisSeleccionado); RAM ram = await RAM_Repository.ComprobarNombre(ramSeleccionada); TarjetaGrafica tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarNombre(tarjetagraficaSeleccionada); // Devolvemos la suma de los 5 componentes seleccionados. return("Total: " + (placabase.Precio + procesador.Precio + chasis.Precio + ram.Precio + tarjetaGrafica.Precio) + "€"); }
/// <summary> /// Añade un nuevo pedido a la tabla. /// </summary> /// <param name="user"></param> /// <param name="placa"></param> /// <param name="procesador"></param> /// <param name="tarjeta"></param> /// <param name="RAM"></param> /// <param name="chasis"></param> /// <returns></returns> public async Task AddNewPedidoAsync(Usuario user, PlacaBase placa, Procesador procesador, TarjetaGrafica tarjeta, RAM RAM, Chasis chasis) { int result = 0; try { // Validamos que exista el Usuario. if (Usuario_Repository.ComprobarId(user).Equals(null)) { throw new Exception("Valid user required"); } // Validamos que exista la Placa Base. if (PlacaBase_Repository.ComprobarId(placa).Equals(null)) { throw new Exception("Valid placa required"); } // Validamos que exista el Procesador. if (Procesador_Repository.ComprobarId(procesador).Equals(null)) { throw new Exception("Valid procesador required"); } // Validamos que exista la Tarjeta Grafica. if (TarjetaGrafica_Repository.ComprobarId(tarjeta).Equals(null)) { throw new Exception("Valid tarjeta grafica required"); } // Validamos que exista la Memoria RAM. if (RAM_Repository.ComprobarId(RAM).Equals(null)) { throw new Exception("Valid RAM required"); } // Validamos que exista el Chasis. if (Chasis_Repository.ComprobarId(chasis).Equals(null)) { throw new Exception("Valid chasis required"); } // Introducimos la nueva linea de pedido. result = await conn.InsertAsync(new Pedido { Usuario = user.Id, PlacaBase = placa.Id, Procesador = procesador.Id, TarjetaGrafica = tarjeta.Id, RAM = RAM.Id, Chasis = chasis.Id }); StatusMessage = string.Format("{0} record(s) added [User: {1} [PlacaBase: {2} [Procesador: {3} [TarjetaGrafica: {4} [RAM: {5} [Chasis: {6})", result, user, placa, procesador, tarjeta, RAM, chasis); } catch (Exception ex) { StatusMessage = string.Format("Failed to add {0}. Error: {1}", user, ex.Message); } }
/// <summary> /// Se añade un nuevo pedido: /// /// comprobamos que todos los productos pasados existen /// si existen se hace ek Insert son Async /// Se muestra un mensaje por consola en caso de exito y fallo /// /// </summary> /// <param name="user"></param> /// <param name="placa"></param> /// <param name="procesador"></param> /// <param name="tarjeta"></param> /// <param name="RAM"></param> /// <param name="chasis"></param> /// <returns></returns> public async Task AddNewPedidoAsync(Usuario user, PlacaBase placa, Procesador procesador, TarjetaGrafica tarjeta, RAM RAM, Chasis chasis) { int result = 0; try { //basic validation to user if (UsuarioRepository.ComprobarId(user).Equals(null)) { throw new Exception("Valid user required"); } //basic validation to placaBase if (PlacaBaseRepository.ComprobarId(placa).Equals(null)) { throw new Exception("Valid placa required"); } //basic validation to Procesador if (ProcesadorRepository.ComprobarId(procesador).Equals(null)) { throw new Exception("Valid procesador required"); } //basic validation to tarjeta if (TarjetaGraficaRepository.ComprobarId(tarjeta).Equals(null)) { throw new Exception("Valid tarjeta grafica required"); } //basic validation to RAM if (RAMRepository.ComprobarId(RAM).Equals(null)) { throw new Exception("Valid RAM required"); } //basic validation to chasis if (ChasisRepository.ComprobarId(chasis).Equals(null)) { throw new Exception("Valid chasis required"); } // TODO: insert a new person into the Person table result = await conn.InsertAsync(new Pedido { Usuario = user.Id, PlacaBase = placa.Id, Procesador = procesador.Id, TarjetaGrafica = tarjeta.Id, RAM = RAM.Id, Chasis = chasis.Id }); StatusMessage = string.Format("{0} record(s) added [User: {1} [PlacaBase: {2} [Procesador: {3} [TarjetaGrafica: {4} [RAM: {5} [Chasis: {6})", result, user, placa, procesador, tarjeta, RAM, chasis); } catch (Exception ex) { StatusMessage = string.Format("Failed to add {0}. Error: {1}", user, ex.Message); } }