コード例 #1
0
        private void CheckedData(Model Model)
        {
            try
            {
                session = new List <SessionAdded>();

                logger.Info("Начата проверка чертежей");

                logger.Info("Проверка деталей");

                if (CheckDetails(Model))
                {
                    logger.Info("Проверка деталей успешна");

                    for (int i = 0; i < Model.Drawings.Count; i++)
                    {
                        if (Model.Drawings.FindAll(p => p.List == Model.Drawings[i].List && p.Order == Model.Drawings[i].Order).Count > 1)
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, лист {Model.Drawings[i].List} уже существует"
                            });
                            continue;
                        }

                        String ReplaceMark = Model.Drawings[i].Mark;

                        String[] ExistingCharaterEnglish = new String[] { "A", "a", "B", "C", "c", "E", "e", "H", "K", "M", "O", "o", "P", "p", "T" };
                        String[] ExistingCharaterRussia  = new String[] { "А", "а", "В", "С", "с", "Е", "е", "Н", "К", "М", "О", "о", "Р", "р", "Т" };

                        for (int j = 0; j < ExistingCharaterRussia.Length; j++)
                        {
                            ReplaceMark = ReplaceMark.Replace(ExistingCharaterRussia[j], ExistingCharaterEnglish[j]);
                        }

                        try
                        {
                            String[] Splitter = Model.Drawings[i].List.Split('и');

                            while (Splitter[0][0] == '0')
                            {
                                Splitter[0] = Splitter[0].Remove(0, 1);
                            }

                            if (Splitter.Length != 1)
                            {
                                Model.Drawings[i].List = Splitter[0] + "и" + Splitter[1];
                            }
                            else
                            {
                                Model.Drawings[i].List = Splitter[0];
                            }
                        }
                        catch
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = "Поле \"Лист\" не заполнено"
                            });
                            continue;
                        }

                        if (Model.Drawings[i].Executor == "")
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = "Поле \"Фамилия\" не заполнено"
                            });
                            continue;
                        }

                        Model.Drawings[i].Model = Model;

                        Int32 IndexException = request.CheckedDrawing(Model.Drawings[i]);

                        switch (IndexException)
                        {
                        case -1:
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = "Ошибка добавления чертежа"
                            });
                            break;

                        case 0:
                            if (request.CheckedNumberAndMark(Model.Drawings[i].Order, ReplaceMark))
                            {
                                if (ReplaceMark.IndexOf("(?)") == -1)
                                {
                                    if (config.CheckMark)
                                    {
                                        if (CheckedLowerRegistery(ReplaceMark))
                                        {
                                            session.Add(new SessionAdded {
                                                Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                            });
                                        }
                                        else
                                        {
                                            session.Add(new SessionAdded {
                                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"Строчные буквы в префиксе марки «{ReplaceMark}» не допускаются"
                                            });
                                        }
                                    }
                                    else
                                    {
                                        session.Add(new SessionAdded {
                                            Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                        });
                                    }
                                }
                                else
                                {
                                    session.Add(new SessionAdded {
                                        Drawing = Model.Drawings[i], Unique = 0, Discription = $"Марка требует нумерации"
                                    });
                                }
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, марка {ReplaceMark} уже существует."
                                });
                            }
                            break;

                        case 1:
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, номер листа {Model.Drawings[i].List} уже существует."
                            });
                            break;

                        case 2:
                            if (ReplaceMark.IndexOf("(?)") == -1)
                            {
                                if (config.CheckMark)
                                {
                                    if (CheckedLowerRegistery(ReplaceMark))
                                    {
                                        session.Add(new SessionAdded {
                                            Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                        });
                                    }
                                    else
                                    {
                                        session.Add(new SessionAdded {
                                            Drawing = Model.Drawings[i], Unique = 0, Discription = $"Строчные буквы в префиксе марки «{ReplaceMark}» не допускаются"
                                        });
                                    }
                                }
                                else
                                {
                                    session.Add(new SessionAdded {
                                        Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                    });
                                }
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 0, Discription = $"Марка требует нумерации"
                                });
                            }
                            break;

                        case 3:
                            long ID = request.GetIDDrawing(Model.Drawings[i].Order, Model.Drawings[i].List);
                            Views.Main.Update UpdateDrawing = new Views.Main.Update();

                            UpdateDrawing.Height = 358;

                            UpdateDrawing.NewList_TB.Text        = Model.Drawings[i].List;
                            UpdateDrawing.NewMark_TB.Text        = Model.Drawings[i].Mark;
                            UpdateDrawing.NewExecutor_TB.Text    = Model.Drawings[i].Executor;
                            UpdateDrawing.NewWeight_TB.Text      = Model.Drawings[i].SubTotalWeight.ToString();
                            UpdateDrawing.NewDetails_DGV.Visible = false;
                            UpdateDrawing.NewDetails_L.Visible   = false;

                            string[] OldDataDrawing = request.GetDataMatrix(Model.Drawings[i].Order, Model.Drawings[i].List).Split('_');
                            UpdateDrawing.OldList_TB.Text        = OldDataDrawing[1];
                            UpdateDrawing.OldMark_TB.Text        = OldDataDrawing[2];
                            UpdateDrawing.OldExecutor_TB.Text    = OldDataDrawing[3];
                            UpdateDrawing.OldWeight_TB.Text      = OldDataDrawing[5];
                            UpdateDrawing.OldDetails_DGV.Visible = false;
                            UpdateDrawing.OldDetails_L.Visible   = false;

                            string status = request.GetStatusName(ID);

                            if (status != "Добавлен инженером конструктором")
                            {
                                UpdateDrawing.OldStatus_TB.Text = $"Чертёж будет обновлён. Чертёж находится на статусе \"{status}\".\n\r Необходимо передать чертёж на дальнейшее сканирование.";
                            }
                            else
                            {
                                UpdateDrawing.OldStatus_TB.Text = $"Чертёж будет обновлён. Чертёж находится на статусе \"{status}\".";
                            }


                            if (UpdateDrawing.ShowDialog() == DialogResult.OK)
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 1, Discription = "-"
                                });
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, номер листа {Model.Drawings[i].List} уже существует."
                                });
                            }

                            break;

                        case 4:
                            long IDforDetails = request.GetIDDrawing(Model.Drawings[i].Order, Model.Drawings[i].List);
                            Views.Main.Update UpdateDetails = new Views.Main.Update();

                            UpdateDetails.NewDetails_DGV.AutoGenerateColumns = false;
                            UpdateDetails.NewList_TB.Text           = Model.Drawings[i].List;
                            UpdateDetails.NewMark_TB.Text           = Model.Drawings[i].Mark;
                            UpdateDetails.NewExecutor_TB.Text       = Model.Drawings[i].Executor;
                            UpdateDetails.NewWeight_TB.Text         = Model.Drawings[i].SubTotalWeight.ToString();
                            UpdateDetails.NewDetails_DGV.DataSource = Model.Drawings[i].Details;

                            UpdateDetails.OldDetails_DGV.AutoGenerateColumns = false;
                            string[] OldDataDrawingForDetails = request.GetDataMatrix(Model.Drawings[i].Order, Model.Drawings[i].List).Split('_');
                            UpdateDetails.OldList_TB.Text           = OldDataDrawingForDetails[1];
                            UpdateDetails.OldMark_TB.Text           = OldDataDrawingForDetails[2];
                            UpdateDetails.OldExecutor_TB.Text       = OldDataDrawingForDetails[3];
                            UpdateDetails.OldWeight_TB.Text         = OldDataDrawingForDetails[5];
                            UpdateDetails.OldDetails_DGV.DataSource = request.GetDetails(IDforDetails);

                            string statusForDetails = request.GetStatusName(IDforDetails);

                            if (statusForDetails != "Добавлен инженером конструктором")
                            {
                                UpdateDetails.OldStatus_TB.Text = $"Чертёж будет обновлён. Чертёж находится на статусе \"{statusForDetails}\".\n\r Необходимо передать чертёж на дальнейшее сканирование.";
                            }
                            else
                            {
                                UpdateDetails.OldStatus_TB.Text = $"Чертёж будет обновлён. Чертёж находится на статусе \"{statusForDetails}\".";
                            }


                            if (UpdateDetails.ShowDialog() == DialogResult.OK)
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 1, Discription = "-"
                                });
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, номер листа {Model.Drawings[i].List} уже существует."
                                });
                            }

                            break;

                        case 5:
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"Чертёж находится на статусе \"{request.GetStatusName(request.GetIDDrawing(Model.Drawings[i].Order, Model.Drawings[i].List))}\", необходимо выдать изменённый чертёж"
                            });
                            break;
                        }
                    }
                    logger.Info("Проверка чертежей успешна");

                    AddData(session);
                }
                else
                {
                    logger.Error("Добавление отменено");
                    MessageBox.Show("Добавление отменено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception E)
            {
                session.Clear();
                throw new Exception(E.Message, E);
            }
        }
コード例 #2
0
        private void CheckedData(Model Model)
        {
            try
            {
                logger.Info("Начата проверка чертежей");

                session = new List <SessionAdded>();

                for (int i = 0; i < Model.Drawings.Count; i++)
                {
                    String ReplaceMark = "";

                    String[] ExistingCharaterEnglish = new String[] { "A", "a", "B", "C", "c", "E", "e", "H", "K", "M", "O", "o", "P", "p", "T" };
                    String[] ExistingCharaterRussia  = new String[] { "А", "а", "В", "С", "с", "Е", "е", "Н", "К", "М", "О", "о", "Р", "р", "Т" };

                    for (int j = 0; j < ExistingCharaterRussia.Length; j++)
                    {
                        ReplaceMark = Model.Drawings[i].Mark.Replace(ExistingCharaterRussia[j], ExistingCharaterEnglish[j]);
                    }

                    try
                    {
                        String[] Splitter = Model.Drawings[i].List.Split('и');

                        while (Splitter[0][0] == '0')
                        {
                            Splitter[0] = Splitter[0].Remove(0, 1);
                        }

                        if (Splitter.Length != 1)
                        {
                            Model.Drawings[i].List = Splitter[0] + "и" + Splitter[1];
                        }
                        else
                        {
                            Model.Drawings[i].List = Splitter[0];
                        }
                    }
                    catch
                    {
                        session.Add(new SessionAdded {
                            Drawing = Model.Drawings[i], Unique = 0, Discription = "Поле \"Лист\" не заполнено"
                        });
                        continue;
                    }

                    if (Model.Drawings[i].Executor == "")
                    {
                        session.Add(new SessionAdded {
                            Drawing = Model.Drawings[i], Unique = 0, Discription = "Поле \"Фамилия\" не заполнено"
                        });
                        continue;
                    }

                    Model.Drawings[i].Model = Model;

                    Int32 IndexException = request.CheckedDrawing(Model.Drawings[i].Order, Model.Drawings[i].List, Model.Drawings[i].Mark);

                    switch (IndexException)
                    {
                    case -1:
                        session.Add(new SessionAdded {
                            Drawing = Model.Drawings[i], Unique = 0, Discription = "Ошибка добавления чертежа"
                        });
                        break;

                    case 0:
                        if (request.CheckedNumberAndMark(Model.Drawings[i].Order, ReplaceMark))
                        {
                            if (ReplaceMark.IndexOf("(?)") == -1)
                            {
                                if (config.CheckMark)
                                {
                                    if (CheckedLowerRegistery(ReplaceMark))
                                    {
                                        session.Add(new SessionAdded {
                                            Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                        });
                                    }
                                    else
                                    {
                                        session.Add(new SessionAdded {
                                            Drawing = Model.Drawings[i], Unique = 0, Discription = $"Строчные буквы в префиксе марки «{ReplaceMark}» не допускаются"
                                        });
                                    }
                                }
                                else
                                {
                                    session.Add(new SessionAdded {
                                        Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                    });
                                }
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 0, Discription = $"Марка требует нумерации"
                                });
                            }
                        }
                        else
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, марка {ReplaceMark} уже существует."
                            });
                        }
                        break;

                    case 1:
                        session.Add(new SessionAdded {
                            Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, номер листа {Model.Drawings[i].List} уже существует."
                        });
                        break;

                    case 2:
                        if (ReplaceMark.IndexOf("(?)") == -1)
                        {
                            if (config.CheckMark)
                            {
                                if (CheckedLowerRegistery(ReplaceMark))
                                {
                                    session.Add(new SessionAdded {
                                        Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                    });
                                }
                                else
                                {
                                    session.Add(new SessionAdded {
                                        Drawing = Model.Drawings[i], Unique = 0, Discription = $"Строчные буквы в префиксе марки «{ReplaceMark}» не допускаются"
                                    });
                                }
                            }
                            else
                            {
                                session.Add(new SessionAdded {
                                    Drawing = Model.Drawings[i], Unique = 2, Discription = "-"
                                });
                            }
                        }
                        else
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"Марка требует нумерации"
                            });
                        }
                        break;

                    case 3:
                        Views.Main.Update Update = new Views.Main.Update();

                        Update.NewOrder_TB.Text = Model.Drawings[i].ToString();
                        Update.OldOrder_TB.Text = request.GetDataMatrix(Model.Drawings[i].Order, Model.Drawings[i].List);

                        if (Update.ShowDialog() == DialogResult.OK)
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 1, Discription = "-"
                            });
                        }
                        else
                        {
                            session.Add(new SessionAdded {
                                Drawing = Model.Drawings[i], Unique = 0, Discription = $"В заказе {Model.Drawings[i].Order}, номер листа {Model.Drawings[i].List} уже существует."
                            });
                        }

                        break;
                    }
                }
                logger.Info("Проверка чертежей успешна");

                AddData(session);
            }
            catch (Exception E)
            {
                session.Clear();
                throw new Exception(E.Message, E);
            }
        }