Beispiel #1
0
    protected void ArticleTypesList_SelectedIndexChanged(object sender, EventArgs e)
    {
        //Загружаем группы изделий выбранной категории
        MainDataClassesDataContext dataContext          = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(0, Convert.ToInt32(ArticleTypesList.SelectedValue));
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        //Загрузка дерева изделий
        TreeView1.Nodes.Clear();

        for (int i = 0; i < b.Count; i++)
        {
            //Изображение группы изделий
            TreeNode tn = new TreeNode(b.ElementAt(i).NAME.ToString(), b.ElementAt(i).ID.ToString(), "../Icons/folder.png");
            //Добавляем всплывающую подсказку для длинных названий групп
            tn.ToolTip = b.ElementAt(i).NAME.ToString();
            TreeView1.Nodes.Add(tn);
            LoadTreeNodeChildren(tn);
        }

        //Выбираем первый узел дерева и обрабатываем событие выбора
        TreeView1.Nodes[0].Select();
        //Удаляем остальные обработчики
        OnLoading  = null;
        OnLoading += TreeView1_SelectedNodeChanged;
        OnLoading(sender, e);
        OnLoading = null;

        //Сворачиваем все узлы
        TreeView1.CollapseAll();

        //Показываем кнопку добавления изделия необходимого типа
        if (ArticleTypesList.SelectedIndex == 1)
        {
            //Скрываем кнопку добавления внутреннего изделия
            AddInnerProductButton.Visible = false;
            //Показываем кнопку добавления покупного изделия
            AddOuterProductButton.Visible = true;
        }
        else
        {
            //Показываем кнопку добавления внутреннего изделия
            AddInnerProductButton.Visible = true;
            //Скрываем кнопку добавления покупного изделия
            AddOuterProductButton.Visible = false;
        }

        //Загружаем значение выбранного пункта в скрытую переменную
        hiddenTypeID.Value = ArticleTypesList.SelectedValue;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        LogIn.Attributes.Add("onclick", "Authentificate();return false;");

        //Заполняем список пользователей программы
        MainDataClassesDataContext         dc       = new MainDataClassesDataContext();
        ISingleResult <ogk_GetUsersResult> result   = dc.ogk_GetUsers();
        List <ogk_GetUsersResult>          userList = result.ToList();

        for (int i = 0; i < userList.Count; i++)
        {
            user_name.Items.Add(new ListItem(userList[i].NAME));
        }
    }
Beispiel #3
0
    /// <summary>
    /// Загружает все типы изделий, кроме продукции
    /// </summary>
    /// <returns></returns>
    public ListItem[] LoadProductionArticleTypesForGroups()
    {
        MainDataClassesDataContext context = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleTypesForGroupsResult> a    = context.ogk_SelectArticleTypesForGroups();;
        List <ogk_SelectArticleTypesForGroupsResult>          list = a.ToList();

        ListItem[] types = new ListItem[list.Count];
        for (int i = 0; i < list.Count; i++)
        {
            ListItem li = new ListItem(list.ElementAt(i).NAME, list.ElementAt(i).ID.ToString());
            types[i] = li;
        }
        return(types);
    }
    /// <summary>
    /// Загрузка покупных и внутренних изделий
    /// </summary>
    /// <param name="productType">Тип изделия (2 - внутреннее изделие, 3 - покупное)</param>
    /// <param name="groupID"></param>
    private void LoadProducts(string productType, string groupID)
    {
        //Выгружаем группу и подгруппы из дерева групп
        groupAndSubGroupsID.Clear();
        groupAndSubGroupsID.Add(Convert.ToInt32(groupID));

        //Загружаем подгруппы выбранной группы
        LoadSubgroups(Convert.ToInt32(productType), Convert.ToInt32(groupID));

        //Готовим таблицу dt  для загрузки
        DataTable dt = new DataTable();

        dt.Columns.Add("Image");
        dt.Columns.Add("Чертеж");
        dt.Columns.Add("Изделия");
        dt.Columns.Add("ID");

        //Определяем изображение изделия
        string imageURL = "";

        switch (productType)
        {
        case "2":
            imageURL = "../Icons/box.png";
            break;

        case "3":
            imageURL = "../Icons/box_closed.png";
            break;
        }

        //Выгружаем список изделий для каждой из подгрупп в таблицу dt
        for (int i = 0; i < groupAndSubGroupsID.Count; i++)
        {
            MainDataClassesDataContext dataContext            = new MainDataClassesDataContext();
            ISingleResult <ogk_SelectArticlesOfGroupResult> a = dataContext.ogk_SelectArticlesOfGroup(groupAndSubGroupsID[i], Convert.ToInt32(productType));
            List <ogk_SelectArticlesOfGroupResult>          b = a.ToList();
            for (int j = 0; j < b.Count; j++)
            {
                if (b.ElementAt(j).DRAWING == null)
                {
                    b.ElementAt(j).DRAWING = "[Нет данных]";
                }
                dt.Rows.Add(imageURL, b.ElementAt(j).DRAWING, b.ElementAt(j).NAME, b.ElementAt(j).ID.ToString());
            }
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
    private void SelectedNodeChanged_Product()
    {
        MainDataClassesDataContext dataContext = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectProductionArticlesResult> a = dataContext.ogk_SelectProductionArticles(Convert.ToInt32(TreeView2.SelectedValue));
        List <ogk_SelectProductionArticlesResult>          b = a.ToList();
        DataTable dt = new DataTable();

        dt.Columns.Add("Название");
        dt.Columns.Add("Чертеж");

        TreeView2.Nodes.Clear();
        for (int i = 0; i < b.Count; i++)
        {
        }
    }
    private void LoadTreeNodeChildren(TreeNode treeNode)
    {
        //Загружаем подгруппы
        MainDataClassesDataContext dataContext          = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(Convert.ToInt32(treeNode.Value), Convert.ToInt32(ArticleTypesList.SelectedValue));
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        for (int i = 0; i < b.Count; i++)
        {
            //Изображение подгруппы изделий такое же как и у группы
            TreeNode tn = new TreeNode(b.ElementAt(i).NAME.ToString(), b.ElementAt(i).ID.ToString(), "../Icons/folder.png");
            treeNode.ChildNodes.Add(tn);
            LoadTreeNodeChildren(tn);
        }
    }
    /// <summary>
    /// Поиск изделия по названию
    /// </summary>
    /// <param name="productNameParameter"></param>
    private void LoadProductsToGridView_SearchName(string productNameParameter)
    {
        MainDataClassesDataContext dataContext = new MainDataClassesDataContext();
        ISingleResult <ogk_SearchForProductionArticleName_AllResult> a = dataContext.ogk_SearchForProductionArticleName_All(productNameParameter);
        List <ogk_SearchForProductionArticleName_AllResult>          b = a.ToList();

        DataTable dt = new DataTable();

        dt.Columns.Add("Image");
        dt.Columns.Add("Чертеж");
        dt.Columns.Add("Изделия");
        dt.Columns.Add("ID");

        for (int i = 0; i < b.Count; i++)
        {
            if ((b.ElementAt(i).DRAWING == null) || (b.ElementAt(i).DRAWING == ""))
            {
                b.ElementAt(i).DRAWING = "[Нет данных]";
            }
            //В зависимости от типа найденного изделия , формируем ссылку на изображение
            string imageUrl = "";
            switch (b.ElementAt(i).TYPE_NAME)
            {
            case "Продукция":
                imageUrl = "../Icons/package.png";
                break;

            case "Внутреннее изделие":
                imageUrl = "../Icons/box.png";
                break;

            case "Покупное изделие":
                imageUrl = "../Icons/box_closed.png";
                break;
            }
            dt.Rows.Add(imageUrl, b.ElementAt(i).DRAWING, b.ElementAt(i).NAME, b.ElementAt(i).ID.ToString());
        }
        //Если изделий не найдено
        if (b.Count == 0)
        {
            //Скрываем панель вывода списка изделий
            GridViewPanel.Visible = false;
            //Показываем сообщение о том , что никаких изделий не найдено
            NoProductsFoundMessage.Visible = true;
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
 public void UsersGridView_OnRowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     try
     {
         MainDataClassesDataContext dc = new MainDataClassesDataContext();
         dc.ogk_DeleteUser(Convert.ToInt32(UsersGridView.Rows[e.RowIndex].Cells[0].Text));
         LoadUsers();
         UserName.Text     = "Логин";
         UserPassword.Text = "Пароль";
         MessageLabel.Text = String.Empty;
     }
     catch (Exception)
     {
         MessageLabel.Text = "Удаление пользователя " + UsersGridView.Rows[e.RowIndex].Cells[1].Text + " не удалось";
     }
 }
Beispiel #9
0
    //Сохраняет изменен ия для данного изделия
    private void SaveChanges(string IDparameter, string productNameParameter, string drawingParameter, string groupIDParameter, string priceParameter, string typeIDParameter, string kod_okpdParameter, string kod_skmtrParameter)
    {
        //Обрезаем пробелы по концам строк
        productNameParameter = productNameParameter.Trim();
        drawingParameter     = drawingParameter.Trim();
        priceParameter       = priceParameter.Trim();

        if (inputDataIsCorrect(IDparameter, productNameParameter, drawingParameter, priceParameter))
        {
            try
            {
                int     ID      = Convert.ToInt32(IDparameter);
                string  Name    = productNameParameter;
                string  Drawing = drawingParameter;
                int     Groupid = Convert.ToInt32(groupIDParameter);
                decimal Price   = Convert.ToDecimal(priceParameter);
                int     TypeID  = Convert.ToInt32(typeIDParameter);

                MainDataClassesDataContext dataContext = new MainDataClassesDataContext();
                int result = dataContext.ogk_EditArticle(ID, Name, Drawing, Groupid, Price, TypeID, kod_okpdParameter, kod_skmtrParameter);
                btnPanel1.Visible      = false;
                SuccessMessage.Visible = true;
                btnPanel2.Visible      = true;

                productionArticlesGroups.Enabled = false;
                productionArticlesTypes.Enabled  = false;
                productName.Enabled = false;
                drawing.Enabled     = false;
                price.Enabled       = false;
                kod_skmtr.Enabled   = false;
                kod_okpd.Enabled    = false;


                //Задаем тип окна для реакции на нажатие клавиши enter
                windowMarker.Value = "SaveOK";
            }
            catch (Exception ex)
            {
                //ShowErrorMessage("Ошибка сохранения изделия");
                ShowErrorMessage(ex.Message);
            }
        }
        else
        {
            return;
        }
    }
    /// <summary>
    /// Загрузка дерева групп продукции
    /// </summary>
    /// <param name="productType">Тип изделия (SELL - продукция, MAKE - внутреннее изделий, BUY - покупное изделие )</param>
    /// <param name="groupID">Идентификатор группы</param>
    public void LoadProductGroupsTree(string productType, string groupID)
    {
        MainDataClassesDataContext dataContext            = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectProductionTypesResult> a = dataContext.ogk_SelectProductionTypes();
        List <ogk_SelectProductionTypesResult>          b = a.ToList();

        for (int i = 0; i < b.Count; i++)
        {
            TreeNode tn = new TreeNode();
            tn.NavigateUrl = "javascript:AddNodeContent('" + productType + "','" + b.ElementAt(i).ID.ToString() + "')";
            tn.Value       = b.ElementAt(i).ID.ToString();
            tn.Text        = b.ElementAt(i).NAME;
            tn.ToolTip     = b.ElementAt(i).NAME;
            TreeView2.Nodes.Add(tn);
        }
        CreateStartUpScript(productType, b.ElementAt(0).ID.ToString());
    }
    public static List <string> GetProductList_Drawing(string drawing)
    {
        //Добавляем символы для поиска вхождений указанного ГОСТа/Чертежа в другие ГОСТ
        drawing = "%" + drawing + "%";
        //Определяем количество ГОСТов/Чертежей в выборке
        int number = 5;
        MainDataClassesDataContext context = new MainDataClassesDataContext();
        ISingleResult <ogk_SearchForProductionArticleDrawingResult> a    = context.ogk_SearchForProductionArticleDrawing(drawing, number);
        List <ogk_SearchForProductionArticleDrawingResult>          List = a.ToList();
        List <string> productDrawingList = new List <string>();

        for (int i = 0; i < List.Count; i++)
        {
            productDrawingList.Add(List[i].DRAWING.ToString());
        }
        return(productDrawingList);
    }
    public static List <string> GetProductList_Name(string name)
    {
        //Добавляем символы для поиска вхождений указанного названия
        name = "%" + name + "%";
        //Устанавливаем количество изделий в выборке
        int number = 5;
        MainDataClassesDataContext context = new MainDataClassesDataContext();
        ISingleResult <ogk_SearchForProductionArticleNameResult> a    = context.ogk_SearchForProductionArticleName(name, number);
        List <ogk_SearchForProductionArticleNameResult>          List = a.ToList();
        List <string> productNameList = new List <string>();

        for (int i = 0; i < List.Count; i++)
        {
            productNameList.Add(List[i].NAME.ToString());
        }
        return(productNameList);
    }
Beispiel #13
0
    /// <summary>
    /// Загружает все группы выбранного типа изделий
    /// </summary>
    /// <param name="selectedType">Идентификатор типа изделий</param>
    private void LoadProductionArticlesGroups(string selectedType)
    {
        int typeID = Convert.ToInt32(selectedType);

        //Загружаем группы изделий выбранной категории
        MainDataClassesDataContext dataContext          = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(0, typeID);
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        for (int i = 0; i < b.Count; i++)
        {
            //string groupName = prefix + b.ElementAt(i).NAME.ToString();
            //groupName = CutGroupName(groupName);
            ListItem item = new ListItem(prefix + b.ElementAt(i).NAME.ToString(), b.ElementAt(i).ID.ToString());
            //Добавляем группу в список
            productionArticlesGroups.Items.Add(item);
            //Загружаем подгруппы
            LoadSubgroups(item);
        }
    }
    private void SaveChanges(string groupIDParameter, string groupNameParameter, string prefixParameter, string parentGroupIDParameter, string typeID)
    {
        //Обрезаем пробелы по концам строки
        groupNameParameter     = groupNameParameter.Trim();
        prefixParameter        = prefixParameter.Trim();
        parentGroupIDParameter = parentGroupIDParameter.Trim();

        //Заменяем несколько пробелов одним
        groupNameParameter = ReplaceSpacesWithOnlyOne(groupNameParameter);
        prefixParameter    = ReplaceSpacesWithOnlyOne(prefixParameter);

        if (inputDataIsCorrect(groupNameParameter, groupIDParameter, parentGroupIDParameter, typeID) == true)
        {
            MainDataClassesDataContext context = new MainDataClassesDataContext();

            //Сохраняем название и префикс группы
            int a = context.ogk_EditArticleGroup(Convert.ToInt32(groupIDParameter), groupNameParameter, prefixParameter);

            //Сохраняем родительскую группу
            int b = context.ogk_MoveArticleGroup(Convert.ToInt32(groupIDParameter), Convert.ToInt32(parentGroupIDParameter));
            if (a > 0)
            {
                //Скрываем кнопки Сохранить Отмена и Удалить
                btnPanel1.Visible = false;

                //Показываем строку успешного изменения данных группы
                SuccessMessage.Visible = true;

                //Показываем кнопку ОК
                btnPanel2.Visible = true;

                //Задаем тип окна для реакции на нажатие клавиши enter
                windowMarker.Value = "SaveOK";

                //Блокируем доступ к строковым полям редактирования названия,префикса,родительской группы
                groupName.Enabled   = false;
                prefixLabel.Enabled = false;
                productionArticlesGroups.Enabled = false;
            }
        }
    }
Beispiel #15
0
    /// <summary>
    /// Добавляет изделие с указанными параметрами в базу
    /// </summary>
    /// <param name="productName">Имя изделия</param>
    /// <param name="drawing">Чертеж/ГОСТ изделия</param>
    /// <param name="price">Цена изделия [руб.,коп.]</param>
    private void AddProduct(string productNameParameter, string drawingParameter, string groupID, string priceParameter, string typeID, string kod_skmtrParameter, string kod_okpdParameter)
    {
        //Удаляем пробелы по концам строк
        productNameParameter = productNameParameter.Trim();
        drawingParameter     = drawingParameter.Trim();
        priceParameter       = priceParameter.Trim();

        //Проверяем входную информацию по формату и
        //ищем конфликты совпадения ГОСТов
        if (inputDataIsCorrect(productNameParameter, drawingParameter, priceParameter))
        {
            try
            {
                //Добавляем изделие в базу
                MainDataClassesDataContext context = new MainDataClassesDataContext();
                int a = context.ogk_AddArticle(productNameParameter, drawingParameter, Convert.ToInt32(groupID), Convert.ToDecimal(priceParameter), Convert.ToInt32(typeID), kod_skmtrParameter, kod_okpdParameter);
            }
            catch
            {
                //Обрабатываем ошибку
                CreateErrorScript("Выполнение данной операции невозможно");
            }
            //Скрываем кнопки Сохранить и Отмена
            btnPanel1.Visible = false;
            //Показываем кнопку ОК
            btnPanel2.Visible = true;
            //Блокируем доступ к полям редактирования
            productName.Enabled = false;
            drawing.Enabled     = false;
            price.Enabled       = false;
            kod_okpd.Enabled    = false;
            kod_skmtr.Enabled   = false;

            //Задаем тип окна для реакции на нажатие клавиши enter
            windowMarker.Value = "CreateOK";
        }
        else
        {
            return;
        }
    }
Beispiel #16
0
    /// <summary>
    /// Загружает подгруппы указанной группы
    /// </summary>
    /// <param name="item">Идентификатор выбранной группы</param>
    private void LoadSubgroups(ListItem item)
    {
        //Загружаем подгруппы
        MainDataClassesDataContext dataContext          = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(Convert.ToInt32(item.Value), Convert.ToInt32(productionArticlesTypes.SelectedValue));
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        if (b.Count > 0)
        {
            //Выделяем подгруппы префиксом из пробелов
            prefix += "\xA0\xA0\xA0\xA0";
            for (int i = 0; i < b.Count; i++)
            {
                ListItem li = new ListItem(prefix + b.ElementAt(i).NAME.ToString(), b.ElementAt(i).ID.ToString());
                productionArticlesGroups.Items.Add(li);
                LoadSubgroups(li);
            }
            //Укорачиваем префикс для загрузки последующих элементов
            prefix = prefix.Substring(4);
        }
    }
    /// <summary>
    /// Проверяет существование имени группы в выбранной группе
    /// </summary>
    /// <param name="groupName">Проверяемое название группы</param>
    /// <param name="parentGroupID">Идентификатор родительской группы</param>
    /// <returns></returns>
    private bool groupNameIsNotExist(string groupName, string parentGroupID, int typeIDParameter)
    {
        groupName = groupName.Trim();

        MainDataClassesDataContext context = new MainDataClassesDataContext();
        int groupsWithThisName             = Convert.ToInt32(context.ogk_GroupNameCheckUp(groupName, Convert.ToInt32(parentGroupID), typeIDParameter));

        if (groupsWithThisName > 0)
        {
            //Группа с таким же именем уже существует - ошибка
            groupNameMessage.Visible = true;
            ErrorMessage.Visible     = true;
            ErrorMessage.Text        = "* Группа с таким именем уже существует";
            return(false);
        }
        else
        {
            //Изделие с таким же чертежом/ГОСТ не существует - все ОК
            return(true);
        }
    }
    /// <summary>
    /// Загрузка дерева покупных изделий
    /// </summary>
    /// <param name="productType">Тип изделия (SELL - продукция, MAKE - внутреннее изделий, BUY - покупное изделие )</param>
    /// <param name="groupID">Идентификатор</param>
    private void LoadOuterProductGroupsTree(string productType, string groupID)
    {
        MainDataClassesDataContext dataContext = new MainDataClassesDataContext();

        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(0, 3); // 0 - корневой узел дерева, 3 - покупное изделие
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        for (int i = 0; i < b.Count; i++)
        {
            TreeNode tn = new TreeNode();

            tn.Value       = b.ElementAt(i).ID.ToString();
            tn.NavigateUrl = "javascript:AddNodeContent('" + productType + "','" + b.ElementAt(i).ID.ToString() + "')";
            tn.Text        = b.ElementAt(i).NAME;
            tn.ToolTip     = b.ElementAt(i).NAME;
            TreeView2.Nodes.Add(tn);
            LoadChildrenTreeNodes(tn, Convert.ToInt32(tn.Value), 3);
        }
        TreeView2.CollapseAll();
        CreateStartUpScript(productType, b.ElementAt(0).ID.ToString());
    }
Beispiel #19
0
    /// <summary>
    /// Загружает в окно информацию об изделии
    /// </summary>
    /// <param name="ID">Идентификатор изделия</param>
    private void LoadProductionInfo(string ID)
    {
        //Загружаем данные об изделии в окно
        //Edit Article
        MainDataClassesDataContext context           = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleResult> a    = context.ogk_SelectArticle(Convert.ToInt32(ID));
        List <ogk_SelectArticleResult>          list = a.ToList();

        //Название изделия
        productName.Text = list.ElementAt(0).NAME;
        //Чертеж(ГОСТ)
        drawing.Text = list.ElementAt(0).DRAWING;
        //Цена изделия
        price.Text = list.ElementAt(0).SELF_PRICE.ToString("F2");
        //Тип изделия
        int typeID = list.ElementAt(0).TYPE;

        //Код СКМТР
        kod_skmtr.Text = list.ElementAt(0).KOD_SKMTR;

        //Код ОКПО
        kod_okpd.Text = list.ElementAt(0).KOD_OKPD;

        productionArticlesTypes.SelectedValue = typeID.ToString();

        //Идентификатор группы изделия
        string groupID = Convert.ToString(list.ElementAt(0).PRODUCTION_GROUP_ID.Value);

        LoadProductionArticlesGroups(productionArticlesTypes.SelectedValue);
        //Выбираем из списка группу изделия
        for (int i = 0; i < productionArticlesGroups.Items.Count; i++)
        {
            if (productionArticlesGroups.Items[i].Value == groupID)
            {
                productionArticlesGroups.Items[i].Selected = true;
            }
        }
    }
    /// <summary>
    /// Загрузка продукции
    /// </summary>
    /// <param name="productType"></param>
    /// <param name="groupID"></param>
    private void LoadProductsToGridView(string productType, string groupID)
    {
        MainDataClassesDataContext dataContext = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectProductionArticlesResult> a = dataContext.ogk_SelectProductionArticles(Convert.ToInt32(groupID));
        List <ogk_SelectProductionArticlesResult>          b = a.ToList();
        DataTable dt = new DataTable();

        dt.Columns.Add("Image");
        dt.Columns.Add("Чертеж");
        dt.Columns.Add("Изделия");
        dt.Columns.Add("ID");

        for (int i = 0; i < b.Count; i++)
        {
            if ((b.ElementAt(i).DRAWING == null) || (b.ElementAt(i).DRAWING == ""))
            {
                b.ElementAt(i).DRAWING = "[Нет данных]";
            }
            dt.Rows.Add("../Icons/package.png", b.ElementAt(i).DRAWING, b.ElementAt(i).NAME, b.ElementAt(i).ID.ToString());
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
Beispiel #21
0
    /// <summary>
    /// Создает пользователя с именем и сгенерированным паролем
    /// </summary>
    /// <param name="userName">Имя пользователя</param>
    private string CreateUser(string userName, bool edit_skmtr_okpd_only)
    {
        try
        {
            string password = UserPassword.Text;

            //Шифруем пароль
            string encryptedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "SHA1");

            MainDataClassesDataContext dc = new MainDataClassesDataContext();
            dc.ogk_CreateUser(userName, encryptedPassword, Convert.ToInt32(edit_skmtr_okpd_only));
            UserName.Text     = "Логин";
            UserPassword.Text = "Пароль";

            MessageLabel.ForeColor = System.Drawing.Color.Green;
            return("Создан пользователь " + userName + " с паролем " + password);
        }
        catch (Exception)
        {
            MessageLabel.ForeColor = System.Drawing.Color.Red;
            return("Невозможно создать пользователя");
        }
    }
Beispiel #22
0
    /// <summary>
    /// Определяет число изделий в которые входит удаляемое изделие
    /// </summary>
    /// <returns>Количество изделий</returns>
    protected int CountParentProducts()
    {
        int productID = 0;

        try
        {
            //Получаем параметр из строки запроса HTTP
            productID = Convert.ToInt32(Server.UrlDecode(Request.QueryString["productID"]));
        }
        catch
        {
            return(0);
        }

        int count = 0;

        using (MainDataClassesDataContext dataContext = new MainDataClassesDataContext())
        {
            //Вызываем процедуру подсчета вхождений изделия в состав других изделий
            count = dataContext.ogk_GetArticleParentsCount(productID).Value;
        }
        return(count);
    }
    private void AddGroup(string typeIDParameter, string parentGroupIDParameter, string groupNameParameter, string prefixParameter)
    {
        //Удаляем пробелы по концам строк
        typeIDParameter        = typeIDParameter.Trim();
        parentGroupIDParameter = parentGroupIDParameter.Trim();
        groupNameParameter     = groupNameParameter.Trim();
        prefixParameter        = prefixParameter.Trim();

        //Проверяем входную информацию по формату и
        //ищем конфликты совпадения имен групп
        if (inputDataIsCorrect(groupNameParameter, parentGroupIDParameter, Convert.ToInt32(typeIDParameter)))
        {
            try
            {
                //Добавляем группу в базу
                MainDataClassesDataContext context = new MainDataClassesDataContext();
                int a = context.ogk_AddArticleGroup(Convert.ToInt32(parentGroupIDParameter), groupNameParameter, prefixParameter, Convert.ToInt32(typeIDParameter));
            }
            catch
            {
            }
            //Скрываем кнопки Сохранить и Отмена
            btnPanel1.Visible = false;
            //Показываем кнопку ОК
            btnPanel2.Visible = true;
            //Блокируем доступ к полям редактирования
            groupName.Enabled = false;
            prefix.Enabled    = false;
            //Задаем тип окна для реакции на нажатие клавиши enter
            windowMarker.Value = "CreateOK";
        }
        else
        {
            return;
        }
    }
    /// <summary>
    /// Действия после выбора узла дерева
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        //Загружаем подгруппы
        MainDataClassesDataContext dataContext          = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticleGroupsResult> a = dataContext.ogk_SelectArticleGroups(Convert.ToInt32(TreeView1.SelectedNode.Value), Convert.ToInt32(ArticleTypesList.SelectedValue));
        List <ogk_SelectArticleGroupsResult>          b = a.ToList();

        //Формируем вид таблицы для последующего заполнения
        DataTable dt = new DataTable();

        dt.Columns.Add("Image");
        dt.Columns.Add("Название группы");
        dt.Columns.Add("Префикс");
        dt.Columns.Add("ID");

        string imageUrl = "../Icons/folder.png";

        for (int i = 0; i < b.Count; i++)
        {
            //Добавляем строку в таблицу
            dt.Rows.Add(imageUrl, b.ElementAt(i).NAME, b.ElementAt(i).PREFIX, b.ElementAt(i).ID.ToString());
        }

        //Показываем панель со списком изделий группы
        Panel1.Visible = true;
        ////Настраиваем ширину ячеек таблицы

        //Столбец изображений элементов
        GridView1.Columns[0].ItemStyle.CssClass = "productImageColumn";

        //Столбец названий групп
        GridView1.Columns[1].ItemStyle.CssClass = "groupNameColumn";

        //Столбец префиксов
        GridView1.Columns[2].ItemStyle.CssClass = "groupPrefix";

        //Столбец ID групп
        GridView1.Columns[3].ItemStyle.CssClass = "productIdColumn";

        GridView1.DataSource = dt;
        GridView1.DataBind();

        if (IsPostBack)
        {
            //Записываем значение выбранной группы  в скрытую переменную
            parentGroupID.Value = TreeView1.SelectedNode.Value;
            TreeView1.SelectedNode.ChildNodes.Clear();
            //Если добавляем группу во "Все группы"
            if (targetGroup == "0")
            {
                //Запоминаем путь до выбранного узла дерева
                string nodePath = TreeView1.SelectedNode.ValuePath.ToString();
                //Перезагружаем дерево
                LoadTreeView();
                //Отыскиваем выбранный ранее узел в новом дереве и выбираем его
                TreeView1.FindNode(nodePath).Select();
                ExpandBranchNodes(TreeView1.SelectedNode);
            }
            else
            {
                LoadTreeNodeChildren(TreeView1.SelectedNode);
            }
        }
    }
Beispiel #25
0
    /// <summary>
    /// Действия после выбора узла дерева
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        //Загружаем изделия выбранной группы
        MainDataClassesDataContext dataContext            = new MainDataClassesDataContext();
        ISingleResult <ogk_SelectArticlesOfGroupResult> a = dataContext.ogk_SelectArticlesOfGroup(Convert.ToInt32(TreeView1.SelectedNode.Value), Convert.ToInt32(ArticleTypesList.SelectedValue));
        List <ogk_SelectArticlesOfGroupResult>          b = a.ToList();

        //Формируем вид таблицы для последующего заполнения
        DataTable dt = new DataTable();

        dt.Columns.Add("Image");
        dt.Columns.Add("Чертеж");
        dt.Columns.Add("Изделия");
        dt.Columns.Add("Код СКМТР");
        dt.Columns.Add("ID");
        dt.Columns.Add("Text_tree");

        string imageUrl;

        //Назначаем изображение в зависимости от выбранного типа изделий
        //1 - покупное изделие, 0 - внутреннее изделие
        if (ArticleTypesList.SelectedIndex == 1)
        {
            imageUrl = "../Icons/box_closed.png";
        }
        else
        {
            imageUrl = "../Icons/box.png";
        }

        for (int i = 0; i < b.Count; i++)
        {
            if ((b.ElementAt(i).DRAWING == null) || (b.ElementAt(i).DRAWING == ""))
            {
                b.ElementAt(i).DRAWING = "[Нет данных]";
            }

            //Добавляем строку в таблицу
            dt.Rows.Add(imageUrl, b.ElementAt(i).DRAWING, b.ElementAt(i).NAME, b.ElementAt(i).KOD_SKMTR, b.ElementAt(i).ID.ToString());
        }

        //Показываем панель со списком изделий группы
        Panel1.Visible = true;
        ////Настраиваем ширину ячеек таблицы

        //Столбец изображений элементов
        GridView1.Columns[0].ItemStyle.CssClass = "productImageColumn";

        //Столбец чертежей/ГОСТов
        GridView1.Columns[1].ItemStyle.CssClass = "productDrawingColumn";

        //Столбец имен изделий
        GridView1.Columns[2].ItemStyle.CssClass = "productSkmtrCodeColumn";

        //Столбец имен изделий
        GridView1.Columns[3].ItemStyle.CssClass = "productNameColumn";

        //Столбец ID
        GridView1.Columns[4].ItemStyle.CssClass = "productEnteringColumn";

        //Столбец вхождения изделия в другие изделия
        GridView1.Columns[5].ItemStyle.CssClass = "productIdColumn";

        GridView1.DataSource = dt;
        GridView1.DataBind();

        //Записываем значение выбранной группы  в скрытую переменную
        hiddenGroupID.Value = TreeView1.SelectedNode.Value;
    }
Beispiel #26
0
 /// <summary>
 /// Удаляет изделие с указанным ID
 /// </summary>
 /// <param name="ID">Идентификатор изделия</param>
 private void RemoveProduct(string ID)
 {
     MainDataClassesDataContext context = new MainDataClassesDataContext();
     //Используем хранимую процедуру
     int a = context.ogk_RemoveArticle(Convert.ToInt32(ID));
 }
    /// <summary>
    /// Загружает список найденных изделий в окно поиска
    /// </summary>
    /// <param name="productNameParameter">Название изделия</param>
    /// <param name="productDrawingParameter">Чертеж/ГОСТ изделия</param>
    /// <param name="searchForTheFirstTime">Если поиск проводится впервые = true, иначе false</param>
    private void LoadProductsToGridView(string productNameParameter, string productDrawingParameter, string searchForTheFirstTime)
    {
        if ((productNameParameter == "") && (productDrawingParameter == ""))
        {
            //Скрываем список найденных изделий
            GridViewPanel.Visible = false;
            if (searchForTheFirstTime == "false")
            {
                //Показываем сообщение о том, что никаких изделий не найдено
                NoProductsFoundMessage.Visible = true;
            }
            else
            {
                //Скрываем сообщение о том, что никаких изделий не найдено
                NoProductsFoundMessage.Visible = false;
            }
            return;
        }

        //Добавляем % для поиска вхождений искомых названий и чертежей
        productNameParameter    = "%" + productNameParameter + "%";
        productDrawingParameter = "%" + productDrawingParameter + "%";


        //Если чертежа нет, то ищем изделие по имени
        if (productDrawingParameter == "%%")
        {
            //Ищем изделие по названию
            LoadProductsToGridView_SearchName(productNameParameter);
        }

        else
        {
            MainDataClassesDataContext dataContext = new MainDataClassesDataContext();
            ISingleResult <ogk_SearchForProductionArticleResult> a = dataContext.ogk_SearchForProductionArticle(productNameParameter, productDrawingParameter);

            List <ogk_SearchForProductionArticleResult> b = a.ToList();

            DataTable dt = new DataTable();
            dt.Columns.Add("Image");
            dt.Columns.Add("Чертеж");
            dt.Columns.Add("Изделия");
            dt.Columns.Add("ID");

            for (int i = 0; i < b.Count; i++)
            {
                if ((b.ElementAt(i).DRAWING == null) || (b.ElementAt(i).DRAWING == ""))
                {
                    b.ElementAt(i).DRAWING = "[Нет данных]";
                }
                //В зависимости от типа найденного изделия , формируем ссылку на изображение
                string imageUrl = "";
                switch (b.ElementAt(i).TYPE_NAME)
                {
                case "Продукция":
                    imageUrl = "../Icons/package.png";
                    break;

                case "Внутреннее изделие":
                    imageUrl = "../Icons/box.png";
                    break;

                case "Покупное изделие":
                    imageUrl = "../Icons/box_closed.png";
                    break;
                }
                dt.Rows.Add(imageUrl, b.ElementAt(i).DRAWING, b.ElementAt(i).NAME, b.ElementAt(i).ID.ToString());
            }
            //Если изделий не найдено
            if (b.Count == 0)
            {
                //Скрываем панель вывода списка изделий
                GridViewPanel.Visible = false;
                //Показываем сообщение о том , что никаких изделий не найдено
                NoProductsFoundMessage.Visible = true;
            }

            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }
    /// <summary>
    /// Определяет изделия, в которые входит изделие
    /// </summary>
    /// <returns>Количество изделий</returns>
    protected int GetParentProducts(string productID)
    {
        int ID;

        try
        {
            ID = Convert.ToInt32(productID);
        }
        catch
        {
            return(0);
        }

        int count = 0;

        using (MainDataClassesDataContext dataContext = new MainDataClassesDataContext())
        {
            ISingleResult <ogk_GetArticleParentsResult> a = dataContext.ogk_GetArticleParents(ID);
            List <ogk_GetArticleParentsResult>          b = a.ToList();
            count = b.Count;

            //Формируем вид таблицы для последующего заполнения
            DataTable dt = new DataTable();
            dt.Columns.Add("Image");
            dt.Columns.Add("Чертеж");
            dt.Columns.Add("Название");
            dt.Columns.Add("ID");

            string imageUrl = "";

            for (int i = 0; i < b.Count; i++)
            {
                if ((b.ElementAt(i).DRAWING == null) || (b.ElementAt(i).DRAWING == ""))
                {
                    b.ElementAt(i).DRAWING = "[Нет данных]";
                }

                switch (b.ElementAt(i).TYPE)
                {
                case 1:
                    imageUrl = "../Icons/package.png";
                    break;

                case 2:
                    imageUrl = "../Icons/box.png";
                    break;

                case 3:
                    imageUrl = "../Icons/box_closed.png";
                    break;

                default:
                    imageUrl = "../Icons/package.png";
                    break;
                }
                //Добавляем строку в таблицу
                dt.Rows.Add(imageUrl, b.ElementAt(i).DRAWING, b.ElementAt(i).NAME, b.ElementAt(i).ID);
            }
            //Столбец изображений элементов
            GridView1.Columns[0].ItemStyle.CssClass = "productImageColumn";

            //Столбец чертежей/ГОСТов
            GridView1.Columns[1].ItemStyle.CssClass = "productDrawingColumn";

            //Столбец имен изделий
            GridView1.Columns[2].ItemStyle.CssClass = "productNameColumn";

            //Столбец ID
            GridView1.Columns[3].ItemStyle.CssClass = "productIdColumn";

            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
        return(count);
    }