/// <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 grafica recibida por parametro
        /// </summary>
        /// <param name="producto">Tarjeta Grafica</param>
        /// <returns>Producto o null</returns>
        public static async Task <TarjetaGrafica> ComprobarId(TarjetaGrafica producto)
        {
            TarjetaGrafica tarjeta;

            ObservableCollection <TarjetaGrafica> tarjetas = new ObservableCollection <TarjetaGrafica>(await App.tarjetaGraficaRepository.GetAllTarjetassync());

            tarjeta = tarjetas.SingleOrDefault(p => p.Id == producto.Id);

            return(tarjeta);
        }
Example #3
0
        /// <summary>
        /// Agrega una tarjeta grafica a la base de datos
        /// </summary>
        /// <remarks>
        /// Permite agregar una tarjeta grafica a la base de datos.
        /// </remarks>
        /// <param name="tarjetaGrafica">Tarjeta Grafica que queremos añadir</param>
        /// <returns>Tarea de añadir una microprocesador</returns>
        public async Task AgregarTarjetaGrafica(TarjetaGrafica tarjetaGrafica)
        {
            int result = 0;

            try
            {
                result = await conn.InsertAsync(tarjetaGrafica);
            }
            catch (Exception ex)
            {
            }
        }
        /// <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) + "€");
        }
Example #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);
            }
        }
Example #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);
            }
        }