protected override void FilterComponents()
 {
     base.FilterComponents();
     if (this.SkipRecipients)
     {
         foreach (SetupComponentInfo setupComponentInfo in base.ComponentInfoList)
         {
             setupComponentInfo.Tasks.RemoveAll(delegate(TaskInfo taskInfo)
             {
                 OrgTaskInfo orgTaskInfo = taskInfo as OrgTaskInfo;
                 return(orgTaskInfo != null && orgTaskInfo.Uninstall != null && orgTaskInfo.Uninstall.Tenant != null && orgTaskInfo.Uninstall.Tenant.RecipientOperation);
             });
         }
     }
 }
 private void Write10_OrgTaskInfo(string n, string ns, OrgTaskInfo o, bool isNullable, bool needType)
 {
     if (o == null)
     {
         if (isNullable)
         {
             base.WriteNullTagLiteral(n, ns);
         }
         return;
     }
     if (!needType)
     {
         Type type = o.GetType();
         if (!(type == typeof(OrgTaskInfo)))
         {
             if (type == typeof(ServicePlanTaskInfo))
             {
                 this.Write11_ServicePlanTaskInfo(n, ns, (ServicePlanTaskInfo)o, isNullable, true);
                 return;
             }
             throw base.CreateUnknownTypeException(o);
         }
     }
     base.WriteStartElement(n, ns, o, false, null);
     if (needType)
     {
         base.WriteXsiType("OrgTaskInfo", "");
     }
     base.WriteAttribute("Id", "", o.Id);
     base.WriteAttribute("Component", "", o.Component);
     base.WriteAttribute("ExcludeInDatacenterDedicated", "", XmlConvert.ToString(o.ExcludeInDatacenterDedicated));
     this.Write9_OrgTaskInfoBlock("Install", "", o.Install, false, false);
     this.Write9_OrgTaskInfoBlock("BuildToBuildUpgrade", "", o.BuildToBuildUpgrade, false, false);
     this.Write9_OrgTaskInfoBlock("Uninstall", "", o.Uninstall, false, false);
     base.WriteEndElement(o);
 }
Exemple #3
0
        private OrgTaskInfo Read10_OrgTaskInfo(bool isNullable, bool checkType)
        {
            XmlQualifiedName xmlQualifiedName = checkType ? base.GetXsiType() : null;
            bool             flag             = false;

            if (isNullable)
            {
                flag = base.ReadNull();
            }
            if (checkType && !(xmlQualifiedName == null) && (xmlQualifiedName.Name != this.id10_OrgTaskInfo || xmlQualifiedName.Namespace != this.id2_Item))
            {
                if (xmlQualifiedName.Name == this.id12_ServicePlanTaskInfo && xmlQualifiedName.Namespace == this.id2_Item)
                {
                    return(this.Read11_ServicePlanTaskInfo(isNullable, false));
                }
                throw base.CreateUnknownTypeException(xmlQualifiedName);
            }
            else
            {
                if (flag)
                {
                    return(null);
                }
                OrgTaskInfo orgTaskInfo = new OrgTaskInfo();
                bool[]      array       = new bool[6];
                while (base.Reader.MoveToNextAttribute())
                {
                    if (!array[0] && base.Reader.LocalName == this.id40_Id && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        orgTaskInfo.Id = base.Reader.Value;
                        array[0]       = true;
                    }
                    else if (!array[1] && base.Reader.LocalName == this.id41_Component && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        orgTaskInfo.Component = base.Reader.Value;
                        array[1] = true;
                    }
                    else if (!array[2] && base.Reader.LocalName == this.id56_ExcludeInDatacenterDedicated && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        orgTaskInfo.ExcludeInDatacenterDedicated = XmlConvert.ToBoolean(base.Reader.Value);
                        array[2] = true;
                    }
                    else if (!base.IsXmlnsAttribute(base.Reader.Name))
                    {
                        base.UnknownNode(orgTaskInfo);
                    }
                }
                base.Reader.MoveToElement();
                if (base.Reader.IsEmptyElement)
                {
                    base.Reader.Skip();
                    return(orgTaskInfo);
                }
                base.Reader.ReadStartElement();
                base.Reader.MoveToContent();
                int num         = 0;
                int readerCount = base.ReaderCount;
                while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
                {
                    if (base.Reader.NodeType == XmlNodeType.Element)
                    {
                        if (!array[3] && base.Reader.LocalName == this.id15_Install && base.Reader.NamespaceURI == this.id2_Item)
                        {
                            orgTaskInfo.Install = this.Read9_OrgTaskInfoBlock(false, true);
                            array[3]            = true;
                        }
                        else if (!array[4] && base.Reader.LocalName == this.id16_BuildToBuildUpgrade && base.Reader.NamespaceURI == this.id2_Item)
                        {
                            orgTaskInfo.BuildToBuildUpgrade = this.Read9_OrgTaskInfoBlock(false, true);
                            array[4] = true;
                        }
                        else if (!array[5] && base.Reader.LocalName == this.id18_Uninstall && base.Reader.NamespaceURI == this.id2_Item)
                        {
                            orgTaskInfo.Uninstall = this.Read9_OrgTaskInfoBlock(false, true);
                            array[5] = true;
                        }
                        else
                        {
                            base.UnknownNode(orgTaskInfo, ":Install, :BuildToBuildUpgrade, :Uninstall");
                        }
                    }
                    else
                    {
                        base.UnknownNode(orgTaskInfo, ":Install, :BuildToBuildUpgrade, :Uninstall");
                    }
                    base.Reader.MoveToContent();
                    base.CheckReaderCount(ref num, ref readerCount);
                }
                base.ReadEndElement();
                return(orgTaskInfo);
            }
        }