コード例 #1
0
 public ISvt Build(IPsdzSollverbauung sollVerbauung, IDictionary <string, string> orderNumbers)
 {
     if (sollVerbauung != null && sollVerbauung.Svt != null)
     {
         IPsdzSvt            svt                 = sollVerbauung.Svt;
         IPsdzOrderList      psdzOrderList       = sollVerbauung.PsdzOrderList;
         SystemVerbauTabelle systemVerbauTabelle = new SystemVerbauTabelle();
         systemVerbauTabelle.Version         = svt.Version;
         systemVerbauTabelle.HoSignature     = svt.HoSignature;
         systemVerbauTabelle.HoSignatureDate = svt.HoSignatureDate;
         IEnumerable <IPsdzEcu> ecus = svt.Ecus;
         if (ecus != null)
         {
             foreach (IPsdzEcu psdzEcu in ecus)
             {
                 IEcuObj ecuObj = this.Build(psdzEcu);
                 if (orderNumbers != null && orderNumbers.Any <KeyValuePair <string, string> >())
                 {
                     string key = this.BuildKey(psdzEcu);
                     if (orderNumbers.ContainsKey(key))
                     {
                         ((EcuObj)ecuObj).OrderNumber = orderNumbers[key];
                     }
                 }
                 systemVerbauTabelle.AddEcu(ecuObj);
             }
         }
         return(systemVerbauTabelle);
     }
     return(null);
 }
コード例 #2
0
        public void FillOrderNumbers(IPsdzSollverbauung sollVerbauung, IDictionary <string, string> result)
        {
            IPsdzStandardSvt       svt           = sollVerbauung.Svt;
            IPsdzOrderList         psdzOrderList = sollVerbauung.PsdzOrderList;
            IEnumerable <IPsdzEcu> ecus          = svt.Ecus;

            if (ecus == null)
            {
                return;
            }
            foreach (IPsdzEcu ecuInput in ecus)
            {
                IEcuObj ecuObj = this.Build(ecuInput);
                if (psdzOrderList != null && psdzOrderList.BntnVariantInstances != null)
                {
                    foreach (IPsdzEcuVariantInstance psdzEcuVariantInstance in psdzOrderList.BntnVariantInstances)
                    {
                        IPsdzEcu       ecu           = psdzEcuVariantInstance.Ecu;
                        string         a             = (ecu != null) ? ecu.BaseVariant : null;
                        IEcuIdentifier ecuIdentifier = ecuObj.EcuIdentifier;
                        if (a == ((ecuIdentifier != null) ? ecuIdentifier.BaseVariant : null))
                        {
                            IPsdzEcu ecu2 = psdzEcuVariantInstance.Ecu;
                            int?     num;
                            if (ecu2 == null)
                            {
                                num = null;
                            }
                            else
                            {
                                IPsdzEcuIdentifier primaryKey = ecu2.PrimaryKey;
                                num = ((primaryKey != null) ? new int?(primaryKey.DiagAddrAsInt) : null);
                            }
                            int?           num2           = num;
                            IEcuIdentifier ecuIdentifier2 = ecuObj.EcuIdentifier;
                            int?           num3           = (ecuIdentifier2 != null) ? new int?(ecuIdentifier2.DiagAddrAsInt) : null;
                            if (num2.GetValueOrDefault() == num3.GetValueOrDefault() & num2 != null == (num3 != null))
                            {
                                string         key           = this.BuildKey(psdzEcuVariantInstance.Ecu);
                                IPsdzOrderPart orderablePart = psdzEcuVariantInstance.OrderablePart;
                                result.Add(key, (orderablePart != null) ? orderablePart.SachNrTais : null);
                                break;
                            }
                        }
                    }
                }
            }
        }
コード例 #3
0
ファイル: LogicServiceClient.cs プロジェクト: rs38/ediabaslib
 public IPsdzTal GenerateTal(IPsdzConnection connection, IPsdzSvt svtActual, IPsdzSollverbauung sollverbauung, IPsdzSwtAction swtAction, IPsdzTalFilter talFilter, string backupDataPath, string vinFromFA = "")
 {
     return(base.CallFunction <IPsdzTal>((ILogicService m) => m.GenerateTal(connection, svtActual, sollverbauung, swtAction, talFilter, backupDataPath, vinFromFA)));
 }
コード例 #4
0
 public void SetSollverbauung(IPsdzSollverbauung sollverbauung)
 {
     this.Sollverbauung = sollverbauung;
 }