예제 #1
0
 private void editCategoryBtn_Click(object sender, EventArgs e)
 {
     if (!ValidateFields())
     {
         return;
     }
     try
     {
         CategoryWSClient ws = new CategoryWSClient();
         category.categoryData.name = category_name.Text;
         ws.editCategory(new Security {
             BinarySecurityToken = authToken
         },
                         new editCategory {
             arg1 = category
         });
         parentForm.FilterCategoriesTable();
         this.Close();
     }
     catch (FaultException <RepeatedNameException> ex)
     {
         ShowExceptionError("Ya hay otra categoría con dicho nombre. Por favor, introduzca otro");
     }
     catch (FaultException <InvalidEntityException> ex)
     {
         ShowExceptionError("Error. No se han recibido todos los campos necesarios para completar la operación");
     }
 }
예제 #2
0
        private void EditCategory(dynamic sender, EventArgs e)
        {
            long                 id  = sender.Tag;
            CategoryWSClient     ws  = new CategoryWSClient();
            findCategoryResponse res = ws.findCategory(new CategoryWS.Security {
                BinarySecurityToken = authToken
            },
                                                       new findCategory {
                arg1 = id, arg1Specified = true
            });
            CategoryForm form = new CategoryForm(authToken, this, res.@return);

            form.Show();
        }
예제 #3
0
        public void FilterCategoriesTable()
        {
            CategoryWSClient ws = new CategoryWSClient();

            for (int indx = (categoriesTable.RowCount * categoriesTable.ColumnCount) - 1; indx >= categoriesTable.ColumnCount; indx--)
            {
                categoriesTable.Controls.RemoveAt(indx);
            }
            categoriesTable.RowCount = 1;
            editCategoryData[] data = ws.listCategoriesByName(new CategoryWS.Security {
                BinarySecurityToken = authToken
            },
                                                              new listCategoriesByName {
                arg1 = category_filter_name.Text
            });
            FillCategoryTable(data);
        }
예제 #4
0
        private void DeleteCategory(dynamic sender, EventArgs e)
        {
            var confirmResult = MessageBox.Show("Está a punto de eliminar una categoría de productos. " +
                                                "Esta acción no se podrá deshacer. ¿Desea continuar con la operación?",
                                                "Confirmar borrado",
                                                MessageBoxButtons.YesNo,
                                                MessageBoxIcon.Warning);

            if (confirmResult == DialogResult.Yes)
            {
                long             id = sender.Tag;
                CategoryWSClient ws = new CategoryWSClient();
                try
                {
                    removeCategoryResponse response = ws.removeCategory(new CategoryWS.Security {
                        BinarySecurityToken = authToken
                    },
                                                                        new removeCategory {
                        arg1 = id, arg1Specified = true
                    });
                    FilterCategoriesTable();
                }
                catch (FaultException <CategoryWS.ElementNotFoundException> ex)
                {
                    MessageBox.Show("Ha ocurrido un error. No se ha encontrado una categoría con id " + id + " en el sistema",
                                    "Error",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
                catch (FaultException <CategoryWS.ArgumentException> ex)
                {
                    MessageBox.Show("Ha ocurrido un error. No se ha recibido el id de la categoría a eliminar",
                                    "Error",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
                catch (FaultException <CategoryWS.CannotRemoveElementException> ex)
                {
                    MessageBox.Show("Ha ocurrido un error. No se puede eliminar la categoría porque tiene productos asociados",
                                    "Error",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }