/// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        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) + "€");
        }
Exemplo n.º 7
0
        /// <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);
            }
        }
Exemplo n.º 8
0
        /// <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);
            }
        }