public bool GenerateScreen(ScreenModel model)
        {
            try
            {
                bool _result = false;

                OutputScreenGeneratorHelper generator = new OutputScreenGeneratorHelper(screenModel: model);
                _result = generator.Do(message: out string _message, screenXmlTextContent: out string xmlText);

                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                XMLExportHelper export = new XMLExportHelper(xmlTextContent: xmlText, fileName: "Output.xml");
                _result = export.Do(message: out _message);

                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                return(_result);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public bool GenerateOTX(ScreenModel model)
        {
            bool _result = false;

            try
            {
                //это пяти значная цифра - параметр сервиса из PDX (по сути это DID - diagnostic ID)
                List <int> services_Request_PARAM_ID_List = new List <int>();

                //это значение, посылаемое в сервис по выбранному DID. Например: "Disabe" или "Enable" (для дискретных сервисов)
                List <string> services_SIGNAL_VALUE_List = new List <string>();

                //список из объектов "сервис". Объекты предопределены в справочнике "SERVICES_handbook" - namespace GXRG.Data > SERVICE.cs
                List <SERVICE> servicesList = new List <SERVICE>();

                //по входной модели данных (model) инициализируем 3 списка, объявленных выше
                DefineREFS_ListsAboutServices(model, out services_Request_PARAM_ID_List, out services_SIGNAL_VALUE_List, out servicesList);

                //объявляем генератор OTX, передавая 3 инициализированных списка
                var generator = new GXRG.Services.OTX.OutputOTXGeneratorHelper(services_Request_PARAM_ID_List, services_SIGNAL_VALUE_List, servicesList);

                //генерация. Выходной параметр message скажет о статусе операции. Параметр sourcestring вернет XML текст нового OTX
                _result = generator.Do(message: out string _message, sourcestring: out string xmlText);
                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                //объявлем хелпер по экспорту XML, указывая в качесте параметра XML текст-контент, а также имя файла
                XMLExportHelper export = new XMLExportHelper(xmlTextContent: xmlText, fileName: "OutputControl.otx");

                //экспорт, создание нового файла OTX
                _result = export.Do(message: out _message);

                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                return(_result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(false);
            }
        }
Exemple #3
0
        public bool GenerateOTX(ScreenModel model)
        {
            bool _result = false;

            //generate xml text

            try
            {
                // список элементов из таблицы эксель, соответствующий сигналам из PDX
                var specificItems = model.ScreenItems.Where(x => x.CompositionType.Equals(CompositionType.AccordingToOutputValue));

                var servicesList = Get_CorrectServicesList(specificItems);

                var generator = new InputOTXGeneratorHelper(servicesNames_List: servicesList.Select(x => x.Procedure_Name).ToList(), phrases_List: specificItems.Select(x => x.Phrase.Value).ToList());

                _result = generator.Do(message: out string _message, sourcestring: out string xmlText);

                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                //export xml
                XMLExportHelper export = new XMLExportHelper(xmlTextContent: xmlText, fileName: "InputControl.otx");
                _result = export.Do(message: out _message);

                if (_result == false)
                {
                    Console.WriteLine(_message);
                }

                return(_result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }