예제 #1
0
        /// <summary>
        /// Botón que lanza una petición al servidor para que guarde
        /// el objeto de usuario, a traves de la interfaz RESTful.
        /// </summary>
        /// <param name="sender">Objeto pasado por parametro</param>
        /// <param name="e">Evento pasado por parametro</param>
        private void SaveUser_Click(object sender, RoutedEventArgs e)
        {
            User user = new User
            {
                Firstname  = FirstnameText.Text,
                Lastname   = LastnameText.Text,
                Email      = EmailText.Text,
                Password   = PasswordText.Password,
                Username   = UsernameText.Text,
                IsAdmin    = (bool)isAdmin.IsChecked,
                UserPicArr = BitmapImage2Bitmap(UserPicLabel.Source)
            };

            try
            {
                UsersConn usersConn = new UsersConn();
                usersConn.Add(user);

                Info infoWindow = new Info("Se ha guardado correctamente, en el servidor, el usuario " + user.Username);
                infoWindow.Show();
            }
            catch (AdminForbiddenException ex)
            {
                // En caso de que no tenga privilegios el usuario, se le informa de ello.
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
            catch (ExpiredLoginException ex)
            {
                // En el caso de que la sesión haya caducado, mostramos un cuadro de dialogo indicando la posibilidad de iniciar sesión de nuevo.
                Warning warningWindow = new Warning(ex.Message, "¿Deseas iniciar la sesión?");
                warningWindow.Show();

                warningWindow.Acceptance += (o, i) =>
                {
                    warningWindow.Close();

                    Login loginWindow = new Login();
                    loginWindow.Show();
                };

                warningWindow.Cancellation += (o, i) =>
                {
                    ManagerWindow.Close();
                };
            }
            catch (ServerException ex)
            {
                // En caso de que el servidor tenga algún tipo de error, se lo mostramos por pantalla.
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
        }
예제 #2
0
        /// <summary>
        /// Botón que lanza una petición al servidor para que guarde
        /// el objeto de producto, a traves de la interfaz RESTful.
        /// </summary>
        /// <param name="sender">Objeto pasado por parametro</param>
        /// <param name="e">Evento pasado por parametro</param>
        private void SaveProduct_Click(object sender, RoutedEventArgs e)
        {
            Product product = new Product
            {
                ProdName   = ProductName.Text,
                ProdCode   = ProductCode.Text,
                ProdDesc   = ProductDescription.Text,
                ProdPrice  = float.Parse(ProductPrize.Text),
                ProdPicArr = BitmapImage2Bitmap(ProdPicLabel.Source)
            };

            try
            {
                ProductsConn productsConn = new ProductsConn();
                productsConn.Add(product);

                Info infoWindow = new Info("Se ha guardado correctamente, en el servidor, el producto " + product.ProdName);
                infoWindow.Show();
            }
            catch (AdminForbiddenException ex)
            {
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
            catch (ExpiredLoginException ex)
            {
                Warning warningWindow = new Warning(ex.Message, "¿Deseas iniciar la sesión?");
                warningWindow.Show();

                warningWindow.Acceptance += (o, i) =>
                {
                    warningWindow.Close();

                    Login loginWindow = new Login();
                    loginWindow.Show();
                };

                warningWindow.Cancellation += (o, i) =>
                {
                    ManagerWindow.Close();
                };
            }
            catch (ServerException ex)
            {
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
        }
예제 #3
0
        /// <summary>
        /// Botón que lanza una petición al servidor para que guarde
        /// el objeto de documento, a traves de la interfaz RESTful.
        /// </summary>
        /// <param name="sender">Objeto pasado por parametro</param>
        /// <param name="e">Evento pasado por parametro</param>
        private void SaveDiscounts_Click(object sender, RoutedEventArgs e)
        {
            Discount discount = new Discount
            {
                Code      = CodeText.Text,
                Desc      = DiscountText.Text,
                PricePerc = float.Parse(PriceDiscountText.Text)
            };

            try
            {
                DiscountsConn discountsConn = new DiscountsConn();
                discountsConn.Add(discount);

                Info infoWindow = new Info("Se ha guardado correctamente, en el servidor, el descuento " + discount.Code);
                infoWindow.Show();
            }
            catch (AdminForbiddenException ex)
            {
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
            catch (ExpiredLoginException ex)
            {
                Warning warningWindow = new Warning(ex.Message, "¿Deseas iniciar la sesión?");
                warningWindow.Show();

                warningWindow.Acceptance += (o, i) =>
                {
                    warningWindow.Close();

                    Login loginWindow = new Login();
                    loginWindow.Show();
                };

                warningWindow.Cancellation += (o, i) =>
                {
                    ManagerWindow.Close();
                };
            }
            catch (ServerException ex)
            {
                Error errorWindow = new Error(ex.Message);
                errorWindow.Show();
            }
        }