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); } }
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); } }