Пример #1
0
        public void UpdateLook(Dictionary <string, object> param)
        {
            Dispatcher.Invoke(DispatcherPriority.Background, new
                              Action(() =>
            {
                icons.UpdateData((IconSize)param["Size"], (IconTheme)param["Theme"]);

                BitmapImage bitmap = new BitmapImage();
                bitmap.BeginInit();
                bitmap.UriSource = icons.GetIcon(param["Icon"].ToString());
                bitmap.EndInit();
                imgIcon.Source = bitmap;

                switch (icons.GetSize())
                {
                case 64:
                default:
                    imgIcon.Width  = 64;
                    imgIcon.Height = 64;

                    tbThemperature.FontSize = 36;
                    tbCondition.FontSize    = 24;
                    tbLocation.FontSize     = 16;
                    break;

                case 32:
                    imgIcon.Width  = 32;
                    imgIcon.Height = 32;

                    tbThemperature.FontSize = 30;
                    tbCondition.FontSize    = 20;
                    tbLocation.FontSize     = 14;
                    break;

                case 128:
                    imgIcon.Width  = 128;
                    imgIcon.Height = 128;

                    tbThemperature.FontSize = 56;
                    tbCondition.FontSize    = 36;
                    tbLocation.FontSize     = 24;
                    break;
                }

                SolidColorBrush scb       = new SolidColorBrush(ColorParser.FromName(param["TextColor"].ToString()));
                tbThemperature.Foreground = scb;
                tbCondition.Foreground    = scb;
                tbLocation.Foreground     = scb;
            }));
        }
Пример #2
0
        public void UpdateLook(Dictionary <string, object> param)
        {
            Dispatcher.Invoke(DispatcherPriority.Background, new
                              Action(() =>
            {
                icons.UpdateData(IconSize.Medium, (IconTheme)param["Theme"]);
                chartLine.DataLabels = true;

                SolidColorBrush scb       = new SolidColorBrush(ColorParser.FromName(param["TextColor"].ToString()));
                tbThemperature.Foreground = scb;
                ccLegend.Foreground       = scb;
                chartXAxis.Foreground     = scb;
                chartLine.Foreground      = scb;

                SetupButtons(0);
                SetupButtons(1);
                SetupButtons(2);
                SetupButtons(3);
                SetupButtons(4);

                SetupDay();
            }));
        }
Пример #3
0
        public void WC001_Consolidate(string testId, string originalName, string revisedDocumentsXml)
        {
            var sourceDir    = new DirectoryInfo("../../../../TestFiles/");
            var originalDocx = new FileInfo(Path.Combine(sourceDir.FullName, originalName));

            var rootTempDir     = TestUtil.TempDir;
            var thisTestTempDir = new DirectoryInfo(Path.Combine(rootTempDir.FullName, testId));

            if (thisTestTempDir.Exists)
            {
                Assert.True(false, "Duplicate test id: " + testId);
            }
            else
            {
                thisTestTempDir.Create();
            }

            var originalCopiedToDestDocx = new FileInfo(Path.Combine(thisTestTempDir.FullName, originalDocx.Name));

            if (!originalCopiedToDestDocx.Exists)
            {
                var wml1 = new WmlDocument(originalDocx.FullName);
                var wml2 = WordprocessingMLUtil.BreakLinkToTemplate(wml1);
                wml2.SaveAs(originalCopiedToDestDocx.FullName);
            }

            var revisedDocumentsXElement = XElement.Parse(revisedDocumentsXml);
            var revisedDocumentsArray    = revisedDocumentsXElement
                                           .Elements()
                                           .Select(z =>
            {
                var revisedDocx             = new FileInfo(Path.Combine(sourceDir.FullName, z.Element("DocName").Value));
                var revisedCopiedToDestDocx = new FileInfo(Path.Combine(thisTestTempDir.FullName, revisedDocx.Name));
                var wml1 = new WmlDocument(revisedDocx.FullName);
                var wml2 = WordprocessingMLUtil.BreakLinkToTemplate(wml1);
                wml2.SaveAs(revisedCopiedToDestDocx.FullName);
                return(new WmlRevisedDocumentInfo()
                {
                    RevisedDocument = new WmlDocument(revisedCopiedToDestDocx.FullName),
                    Color = ColorParser.FromName(z.Element("Color")?.Value),
                    Revisor = z.Element("Revisor")?.Value,
                });
            })
                                           .ToList();

            var consolidatedDocxName   = originalCopiedToDestDocx.Name.Replace(".docx", "-Consolidated.docx");
            var consolidatedDocumentFi = new FileInfo(Path.Combine(thisTestTempDir.FullName, consolidatedDocxName));

            var source1Wml = new WmlDocument(originalCopiedToDestDocx.FullName);
            var settings   = new WmlComparerSettings
            {
                DebugTempFileDi = thisTestTempDir
            };
            var consolidatedWml = OpenXmlPowerTools.WmlComparer.WmlComparer.Consolidate(
                source1Wml,
                revisedDocumentsArray,
                settings);
            var wml3 = WordprocessingMLUtil.BreakLinkToTemplate(consolidatedWml);

            wml3.SaveAs(consolidatedDocumentFi.FullName);

            var validationErrors = "";

            using (var ms = new MemoryStream())
            {
                ms.Write(consolidatedWml.DocumentByteArray, 0, consolidatedWml.DocumentByteArray.Length);
                using var wDoc = WordprocessingDocument.Open(ms, true);
                var validator = new OpenXmlValidator();
                var errors    = validator.Validate(wDoc).Where(e => !ExpectedErrors.Contains(e.Description));
                if (errors.Any())
                {
                    var ind = "  ";
                    var sb  = new StringBuilder();
                    foreach (var err in errors)
                    {
                        sb.Append("Error" + Environment.NewLine);
                        sb.Append(ind + "ErrorType: " + err.ErrorType.ToString() + Environment.NewLine);
                        sb.Append(ind + "Description: " + err.Description + Environment.NewLine);
                        sb.Append(ind + "Part: " + err.Part.Uri.ToString() + Environment.NewLine);
                        sb.Append(ind + "XPath: " + err.Path.XPath + Environment.NewLine);
                    }
                    validationErrors = sb.ToString();
                }
            }

            /************************************************************************************************************************/

            if (validationErrors != "")
            {
                Assert.True(false, validationErrors);
            }
        }