Exemple #1
0
        /// <summary>
        /// Проверяю наличие в документа хранилища настроек, если нет - создаю
        /// </summary>
        private void StorageCheckIn()
        {
            Entity ent = null;
            Schema sch = null;

            try
            {
                sch = Schema.Lookup(new Guid(schemaGuid));
                ent = _storageElem.GetEntity(sch);
                if (ent.Schema != null)
                {
                    return;
                }
            }
            catch { }



            SchemaBuilder sb = new SchemaBuilder(new Guid(schemaGuid));

            sb.SetReadAccessLevel(AccessLevel.Public);
            sb.SetWriteAccessLevel(AccessLevel.Public);

            foreach (string fieldName in Enum.GetValues(typeof(PrintSettingFields)))
            {
                FieldBuilder fb = sb.AddSimpleField(fieldName, typeof(string));
            }
            //FieldBuilder fb1 = sb.AddSimpleField(fieldFolder, typeof(string));
            //FieldBuilder fb2 = sb.AddSimpleField(fieldConstructor, typeof(string));

            sb.SetSchemaName("YayBatchPrintSettings");

            sch = sb.Finish();

            using (Transaction t = new Transaction(_doc))
            {
                t.Start("Создание настроек печати");

                Entity ent2 = new Entity(sch);

                //инициализирую стартовыми значениями для первого запуска
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.OutputFolder)), @"C:\PDF Print");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.NameConstructor)), "<Номер листа>_<Имя листа>.pdf");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.ColorsType)), "1");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.JoinPdf)), "false");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.PrintToPaper)), "false");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.RasterQuality)), "3");
                ent2.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.HiddenLineViewsType)), "0");

                _storageElem.SetEntity(ent2);

                t.Commit();
            }
        }
Exemple #2
0
        /// <summary>
        /// Сохраняю новые значения папки для сохранения и конструктора имени в Storage.
        /// Другие настройки сохраняются в стандартных параметрах печати.
        /// </summary>
        /// <param name="outputFolder"></param>
        /// <param name="nameConstructor"></param>
        public void SaveNewSettings(YayPrintSettings printSettings) //string outputFolder, string nameConstructor)
        {
            using (Transaction t = new Transaction(_doc))
            {
                t.Start("Сохранение настроек печати");

                Schema sch = Schema.Lookup(new Guid(schemaGuid));
                Entity ent = _storageElem.GetEntity(sch);


                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.OutputFolder)), printSettings.outputFolder);
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.NameConstructor)), printSettings.nameConstructor);
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.PrinterName)), printSettings.printerName);

                int colorTypeInt = (int)printSettings.colorsType;
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.ColorsType)), colorTypeInt.ToString());

                string joinPdfValue = printSettings.mergePdfs.ToString();
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.JoinPdf)), joinPdfValue);
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.PrintToPaper)), printSettings.printToPaper.ToString());

                int rasterQualityValue = (int)printSettings.rasterQuality;
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.RasterQuality)), rasterQualityValue.ToString());

                int hiddenLinesValue = (int)printSettings.hiddenLineProcessing;
                ent.Set <string>(sch.GetField(PrintSettingField.GetFieldName(PrintSettingFields.HiddenLineViewsType)), hiddenLinesValue.ToString());


                //foreach (string fieldName in Enum.GetValues(typeof(PrintSettingFields)))
                //{
                //    Field f = sch.GetField(fieldName);
                //    ent.Set<string>(f, value);
                //}
                //Field f1 = sch.GetField(fieldFolder);
                //Field f2 = sch.GetField(fieldConstructor);



                //ent.Set<string>(f1, outputFolder);
                //ent.Set<string>(f2, nameConstructor);

                _storageElem.SetEntity(ent);

                t.Commit();
            }
        }