Ejemplo n.º 1
0
 /// <summary>
 /// Разбор типоразмера
 /// </summary>
 private void parseTypeSize(string description)
 {
     try
     {
         string[] parameters = description.TrimStart('T' /*EN*/, 'Т' /*RU*/).Split('-');
         PenCode         = parameters[0]; // до ввода фиброцементного типа проходок FlangesType = int.Parse(parameters[0]);
         DiameterTypeStr = new DiameterType(int.Parse(parameters[1])).ToString();
         LengthCm        = int.Parse(parameters[2]);
     }
     catch (Exception)
     {
         ErrorText = $"Не удалось разобрать типоразмер \"{description}\"";
     }
 }
Ejemplo n.º 2
0
        public List <DiameterType> getDiameters(long flangesTypeIndex)
        {
            var dataRows = data_.AsEnumerable().
                           Where(x => projId_ != 0 ? x.Field <long>("prjID") == projId_ :
                                 x.Field <long>("depID") == depId_).
                           Where(x => x.Field <long>("flanNumber") == flangesTypeIndex).
                           OrderBy(x => x.Field <long>("diamNumber")).
                           ThenByDescending(x => x.Field <float>("pipeDiam")).
                           ThenByDescending(x => x.Field <float>("pipeThick"));

            Logger.Log.Debug($"для projId='{projId_}' и depId='{depId_}' найдено {dataRows.Count()} типоразмеров");

            var list = new List <DiameterType>();

            foreach (DataRow dataRow in dataRows)
            {
                var diamType = new DiameterType(
                    dataRow.Field <long>("diamNumber"),
                    dataRow.Field <float>("pipeDiam"),
                    dataRow.Field <float>("pipeThick"));
                list.Add(diamType);
            }
            return(list);
        }
Ejemplo n.º 3
0
        private void rowsAdded_(IEnumerable <DataGridViewRow> rows)
        {
            foreach (var row in rows)
            {
                var comboCell = row.Cells[GroupByTaskModel.FieldName.DIAMETER] as DataGridViewComboBoxCell;

                PenetrVueTask task = groupModel_.GetTask(row.GetDataRow());
                if (task == null)
                {
                    continue;
                }

                IList <DiameterType> diameters = groupModel_.getDiametersList(task);
                var          diamStrList       = new List <string>();
                DiameterType matchValue        = null;
                foreach (DiameterType diamType in diameters)
                {
                    if (diamType.Equals(task.DiameterType))
                    {
                        matchValue = diamType;
                        Logger.Log.Debug(
                            $"Найден диаметр в таблице диаметров: {diamType}" +
                            $" для задания '{task}'");
                    }
                    diamStrList.Add(diamType.ToString());
                }

                comboCell.DataSource = diamStrList;
                if (matchValue != null)
                {
                    Logger.Log.Debug($"Установка диаметра: {matchValue}");
                    comboCell.Value = matchValue.ToString();
                }
                else
                {
                    Logger.Log.Debug(
                        $"невалиное значение диаметра '{task.DiameterType}'" +
                        $" для задания '{task}'" +
                        $"\n валидные занчения: {diameters.ToStringEx()}");

                    comboCell.ErrorText = "невалидное значение диаметра";
                }

                DataRow dataRow = row.GetDataRow();
                if (!dataRow.HasErrors && !dataRow.AnyColumnHasError())
                {
                    dataRow.SetField(GroupByTaskModel.FieldName.STATUS, "OK");
                }
                else
                {
                    dataRow.SetField(GroupByTaskModel.FieldName.STATUS, "ERROR");
                }
            }
            UpdateRowsStylesByStatus();

            try
            {
                var tabCtrl = form_.tabCtrlMain;
                if (tabCtrl.SelectedTab.Name != "tabGroupByTask")
                {
                    tabCtrl.SelectedTab = tabCtrl.TabPages["tabGroupByTask"];
                    form_.Refresh();
                }
            }
            catch (Exception)
            {
            }
        }