예제 #1
0
        public void Start()
        {
            StartKompas();
            var builder    = new HandleBuilder(_kompas);
            var parameters = new HandleParameters(3d, 3d, 3d, 2d, 5);
            var count      = 55;

            for (int i = 0; i < count; i++)
            {
                var processes = Process.GetProcessesByName("KOMPAS");
                var process   = processes.First();

                if (i == 0)
                {
                    _ramCounter = new PerformanceCounter("Process", "Working Set", process.ProcessName);
                    _cpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName);
                }

                _cpuCounter.NextValue();

                builder.CreateDetail(parameters);

                var ram = _ramCounter.NextValue();
                var cpu = _cpuCounter.NextValue();

                _writer.Write($"{i}. ");
                _writer.Write($"RAM: {Math.Round(ram / 1024 / 1024)} MB");
                _writer.Write($"\tCPU: {cpu} %");
                _writer.Write(Environment.NewLine);
                _writer.Flush();
            }
        }
예제 #2
0
        private void CreateDetailButton_Click(object sender, EventArgs e)
        {
            var errorMessage = new List <string>();
            var dict         = new Dictionary <TextBox, string>
            {
                { BackDiameterTextBox, "Диаметр задней части ручки введен некорректно" },
                { BackLenghtTextBox, "Длина задней части ручки введена некорректно" },
                { FrontLenghtTextBox, "Длина передней части ручки введена некорректно" },
                { HoleDiameterTextBox, "Диаметр отверстия ручки введен некорректно" },
            };
            var valueParams = new List <double>();

            foreach (var keyValuePair in dict)
            {
                var curentParameter = 0.0;
                if (!double.TryParse(keyValuePair.Key.Text, out curentParameter))
                {
                    errorMessage.Add(keyValuePair.Value);
                }

                valueParams.Add(curentParameter);
            }

            if (!int.TryParse(NotchCountTextBox.Text, out int notchCount))
            {
                errorMessage.Add("Количество вырезов ручки введено некорректно");
            }

            if (errorMessage.Count > 0)
            {
                ShowMessage(string.Join("\n", errorMessage));
                return;
            }

            try
            {
                var parameters = new HandleParameters(valueParams[0],
                                                      valueParams[1], valueParams[2], valueParams[3], notchCount);
                var builder = new HandleBuilder(_connector.Kompas);

                builder.CreateDetail(parameters);
                SetFormView(false, true, true, true, true);
            }
            catch (FormatException ex)
            {
                ShowMessage(ex.Message);
                return;
            }
            catch (ArgumentException ex)
            {
                ShowMessage(ex.Message);
                return;
            }
            catch (COMException)
            {
                ShowMessage("Невозможно построить деталь так как Компас закрыт");
                SetFormView(true, false, false, false, true);
                return;
            }
        }