public App(string filename) { InitializeComponent(); Pedido_Repository = new Pedido_Repository(filename); PlacaBase_Repository = new PlacaBase_Repository(filename); Chasis_Repository = new Chasis_Repository(filename); Procesador_Repository = new Procesador_Repository(filename); Ram_Repository = new RAM_Repository(filename); TarjetaGrafica_Repository = new TarjetaGrafica_Repository(filename); Usuario_Repository = new Usuario_Repository(filename); MainPage = new LogIn_View(); }
/// <summary> /// Realiza las comprobaciones de que el formulario esta rellenado correctamente, y comprueba que el usuario y la contraseña son correctos. /// </summary> /// <returns></returns> public async Task IniciarSesion() { // Primero comprobamos que el usuario no ha dejado algún campo vacío. if (string.IsNullOrEmpty(txtNombre.Text.ToString()) || string.IsNullOrEmpty(txtContrasenia.Text.ToString())) { await Page.DisplayAlert("ERROR", "No deben haber campos vacíos.", "OK"); } else if (txtContrasenia.Text.Length < 10) { await Page.DisplayAlert("ERROR", "La contraseña es demasiado corta. Mínimo 10 caracteres.", "OK"); } else { // Luego se comprueba si el usuario existe en la base de datos. if (!await Usuario_Repository.ComprobarNombre(txtNombre.Text)) { await Page.DisplayAlert("ERROR", "No existe un usuario registrado con ese nombre.", "OK"); } else { Usuario = await Usuario_Repository.GetUsuario(txtNombre.Text); // Luego comprobamos si la contraseña introducida es correcta. if (Usuario.Contrasenia != txtContrasenia.Text) { await Page.DisplayAlert("ERROR", "Contraseña incorrecta.", "OK"); } else { // Si es cliente inicia la sesión de cliente if (Usuario.Tipo == "C") { Cliente_View Cliente_View = new Cliente_View(Usuario); await Navigation.PushModalAsync(Cliente_View); } // Si no, inicia la sesión de vendor else { Vendor_View Vendor_View = new Vendor_View(Usuario); await Navigation.PushModalAsync(Vendor_View); } } } } }
/// <summary> /// Recupera de cada pedido realizado el nombre del usuario que lo ha realizado, el nombre de cada componente y el precio total. /// </summary> /// <returns>Una lista de los pedidos realizados.</returns> public async Task <List <LineaPedido> > CargarPedidos() { pedidos = await App.Pedido_Repository.GetAllPedidosAsync(); List <LineaPedido> lineasPedido = new List <LineaPedido>(); PlacaBase placabase; Procesador procesador; Chasis chasis; RAM ram; TarjetaGrafica tarjetaGrafica; Usuario usuarioPedido; for (int i = 0; i < pedidos.Count; i++) { placabase = await PlacaBase_Repository.ComprobarId(pedidos[i].PlacaBase); procesador = await Procesador_Repository.ComprobarId(pedidos[i].Procesador); chasis = await Chasis_Repository.ComprobarId(pedidos[i].Chasis); ram = await RAM_Repository.ComprobarId(pedidos[i].RAM); tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarId(pedidos[i].TarjetaGrafica); usuarioPedido = await Usuario_Repository.ComprobarId(pedidos[i].Usuario); lineasPedido.Add(new LineaPedido( pedidos[i].Id, usuarioPedido.Nombre, placabase.Nombre, procesador.Nombre, tarjetaGrafica.Nombre, chasis.Nombre, ram.Nombre, placabase.Precio + procesador.Precio + chasis.Precio + ram.Precio + tarjetaGrafica.Precio )); } return(lineasPedido); }