Beispiel #1
0
        /// <summary>
        /// Builds the SPC settings XML.
        /// </summary>
        /// <param name="spcField">The SPC field.</param>
        /// <returns>XElement.</returns>
        private static XElement BuildSpcSettingsXML(TableFieldDefinition spcField, IProcessDefinition process)
        {
            var spcSettings = new XElement("SpcSettings",
                    new XAttribute("ChartHeightMultiplier", 1.0),
                    new XAttribute("PointsToDisplay", string.Empty),
                    new XAttribute("SubgroupSizeFieldName", string.Empty),
                    new XAttribute("USLFieldName", string.Empty),
                    new XAttribute("LSLFieldName", string.Empty),
                    new XAttribute("UCLFieldName", string.Empty),
                    new XAttribute("LCLFieldName", string.Empty),
                    new XAttribute("PickDateFieldName", string.Empty),
                    new XAttribute("DateTimeFormat", DateTimeFormat.DateTime.ToString()),
                    new XAttribute("SampleFilterGuid", string.Empty),
                    new XAttribute("SampleFilterDefinition", string.Empty),
                    new XAttribute("ManualSettingOfCLs", string.Empty));
            spcSettings.SetAttributeValue("SampleFieldName", spcField.SPCSampleFieldName);

            if (spcField.SPCOptions != null)
            {
                spcSettings.SetAttributeValue("ChartHeightMultiplier", spcField.SPCOptions.ChartHeightMultiplier.ToString(CultureInfo.InvariantCulture));
                spcSettings.SetAttributeValue("PointsToDisplay", spcField.SPCOptions.PointsToDisplay);
                spcSettings.SetAttributeValue("SubgroupSizeFieldName", spcField.SPCOptions.SubgroupSizeFieldName);
                spcSettings.SetAttributeValue("USLFieldName", spcField.SPCOptions.USLFieldName);
                spcSettings.SetAttributeValue("LSLFieldName", spcField.SPCOptions.LSLFieldName);
                spcSettings.SetAttributeValue("UCLFieldName", spcField.SPCOptions.UCLFieldName);
                spcSettings.SetAttributeValue("LCLFieldName", spcField.SPCOptions.LCLFieldName);
                spcSettings.SetAttributeValue("PickDateFieldName", spcField.SPCOptions.PickDateFieldName);

                var dateField = process.RootTable.FieldList.FirstOrDefault(x => x.SystemName == spcField.SPCOptions.PickDateFieldName);
                if (dateField != null)
                    spcSettings.SetAttributeValue("DateTimeFormat", dateField.DateTimeFormat.ToString());

                spcSettings.SetAttributeValue("SampleFilterGuid", spcField.SPCOptions.SampleFilterGuid);
                spcSettings.SetAttributeValue("SampleFilterDefinition", spcField.SPCOptions.SampleFilterDefinition);
                spcSettings.SetAttributeValue("ManualSettingOfCLs", spcField.SPCOptions.ManualSettingOfCLs);
            }

            return spcSettings;
        }
Beispiel #2
0
        private XElement BuildGageRRSettingsXML(TableFieldDefinition gageField, IProcessDefinition process)
        {
            var gageSettings = new XElement("GageRRSettings",
                    new XAttribute("GageRRSourceProcessId", 0),
                    new XAttribute("GageRRSourceProcessSysName", string.Empty),
                    new XAttribute("GageRRDataProcessSysName", string.Empty),
                    new XAttribute("SampleFilterGuid", Guid.Empty),
                    new XAttribute("SampleFilterDefinition", string.Empty),
                    new XAttribute("ChecklistFieldName", string.Empty),
                    new XAttribute("SampleFieldName", string.Empty),
                    new XAttribute("AppraiserFieldName", string.Empty),
                    new XAttribute("TrialFieldName", string.Empty),
                    new XAttribute("NumberOfAppraisers", 2),
                    new XAttribute("NumberOfTrials", 2),
                    new XAttribute("UseDataGroupingFilter", Boolean.FalseString.ToLower()));

            if (gageField.GageRROptions != null)
            {
                gageSettings.SetAttributeValue("GageRRSourceProcessId", gageField.GageRROptions.GageRRSourceProcessId ?? 0);
                gageSettings.SetAttributeValue("GageRRSourceProcessSysName", gageField.GageRROptions.GageRRSourceProcessSysName);
                gageSettings.SetAttributeValue("GageRRDataProcessSysName", gageField.GageRROptions.GageRRDataProcessSysName);
                gageSettings.SetAttributeValue("SampleFilterGuid", gageField.GageRROptions.SampleFilterGuid);
                gageSettings.SetAttributeValue("SampleFilterDefinition", string.IsNullOrEmpty(gageField.GageRROptions.SampleFilterDefinition) 
                    ? string.Empty 
                    : AssemblyGeneratorBase.TranslateFilterDefinition(gageField.GageRROptions.SampleFilterDefinition, process).Replace("\"\"", "'"));
                gageSettings.SetAttributeValue("ChecklistFieldName", gageField.GageRROptions.ChecklistFieldName);
                gageSettings.SetAttributeValue("SampleFieldName", gageField.GageRROptions.SampleFieldName);
                gageSettings.SetAttributeValue("AppraiserFieldName", gageField.GageRROptions.AppraiserFieldName);
                gageSettings.SetAttributeValue("TrialFieldName", gageField.GageRROptions.TrialFieldName);
                gageSettings.SetAttributeValue("NumberOfAppraisers", gageField.GageRROptions.NumberOfAppraisers);
                gageSettings.SetAttributeValue("NumberOfTrials", gageField.GageRROptions.NumberOfTrials);
                gageSettings.SetAttributeValue("UseDataGroupingFilter", gageField.GageRROptions.UseDataGroupingFilter);
            }

            return gageSettings;
        }
        public void UpdateProcessDefinitionMethodTest()
        {
            var stepMock = Mock.Create<GageRROptionsStepEdit>(Constructor.Mocked, Behavior.Loose);
            Mock.Arrange(() => stepMock.UpdateProcessDefinition(Arg.IsAny<IProcessDefinition>(), Arg.IsAny<ProcessFieldDefinition>(), Arg.IsAny<TableFieldDefinition>(), Arg.IsAny<IProcessEdit>()))
                .CallOriginal();

            stepMock.GageRRSourceProcessId = 15;
            var sampleFilterGuid = Guid.NewGuid();
            stepMock.GageRRSourceProcessSysName = "ChecklistProcess";
            stepMock.GageRRDataProcessSysName = "AnswerProcess";
            stepMock.SampleFilterGuid = sampleFilterGuid;
            stepMock.SampleFilterDefinition = "FilterDefinition";
            stepMock.ChecklistFieldName = "ChecklistField";
            stepMock.SampleFieldName = "SampleField";
            stepMock.AppraiserFieldName = "AppraiserField";
            stepMock.TrialFieldName = "TrialField";
            stepMock.NumberOfAppraisers = 3;
            stepMock.NumberOfTrials = 3;
            stepMock.UseDataGroupingFilter = true;

            var tableFieldDef = new TableFieldDefinition();
            stepMock.UpdateProcessDefinition(null, new ProcessFieldDefinition(), tableFieldDef, null);
            Assert.IsNotNull(tableFieldDef.GageRROptions);
            Assert.AreEqual(tableFieldDef.GageRROptions.GageRRSourceProcessId, stepMock.GageRRSourceProcessId);
            Assert.AreEqual(tableFieldDef.GageRROptions.SampleFilterGuid, stepMock.SampleFilterGuid);
            Assert.AreEqual(tableFieldDef.GageRROptions.SampleFilterDefinition, stepMock.SampleFilterDefinition);
            Assert.AreEqual(tableFieldDef.GageRROptions.ChecklistFieldName, stepMock.ChecklistFieldName);
            Assert.AreEqual(tableFieldDef.GageRROptions.SampleFieldName, stepMock.SampleFieldName);
            Assert.AreEqual(tableFieldDef.GageRROptions.AppraiserFieldName, stepMock.AppraiserFieldName);
            Assert.AreEqual(tableFieldDef.GageRROptions.TrialFieldName, stepMock.TrialFieldName);
            Assert.AreEqual(tableFieldDef.GageRROptions.NumberOfAppraisers, stepMock.NumberOfAppraisers);
            Assert.AreEqual(tableFieldDef.GageRROptions.NumberOfTrials, stepMock.NumberOfTrials);
            Assert.AreEqual(tableFieldDef.GageRROptions.GageRRSourceProcessSysName, stepMock.GageRRSourceProcessSysName);
            Assert.AreEqual(tableFieldDef.GageRROptions.GageRRDataProcessSysName, stepMock.GageRRDataProcessSysName);
            Assert.AreEqual(tableFieldDef.GageRROptions.UseDataGroupingFilter, stepMock.UseDataGroupingFilter);
            Assert.IsTrue(tableFieldDef.GenerateDbColumn);
        }