Exemple #1
0
        public static void CookMhn(string profile, string browser_name, string profile_name)
        {
            try
            {
                string text = Path.Combine(profile, "cookies.sqlite");

                CNT cNT = new CNT(CreateTempCopy(text));
                cNT.ReadTable("moz_cookies");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    try
                    {
                        domains.Add(cNT.ParseValue(i, "host").Trim());
                        Cookies_Gecko.Add(cNT.ParseValue(i, "host").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "path").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "expiry").Trim() + "\t" + cNT.ParseValue(i, "name").Trim() + "\t" + cNT.ParseValue(i, "value") + System.Environment.NewLine);
                        Func.Cookies.cookiesCount++;
                    }
                    catch
                    {
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Exemple #2
0
        public static void get_Autofill(string profilePath, string browser_name)
        {
            try
            {
                string text = Path.Combine(profilePath, "Web Data");

                CNT cNT = new CNT(CC.CreateTempCopy(text));
                cNT.ReadTable("autofill");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    Count++;
                    try
                    {
                        Autofill.Add(Environment.NewLine + "Name : " + cNT.ParseValue(i, "name").Trim() + Environment.NewLine + "Value : " + cNT.ParseValue(i, "value").Trim() + Environment.NewLine + "Browser : " + browser_name + Environment.NewLine);
                        Count++;
                    }
                    catch
                    {
                    }
                }
            }
            catch
            {
            }
        }
Exemple #3
0
        // Token: 0x06000C99 RID: 3225 RVA: 0x0002682C File Offset: 0x00024A2C
        public List <BrowserCredendtial> GetCredentials(string profilePath)
        {
            List <BrowserCredendtial> list = new List <BrowserCredendtial>();

            try
            {
                string text = Path.Combine(profilePath, "Login Data");
                if (!File.Exists(text))
                {
                    return(list);
                }
                CNT cnt = new CNT(rcvr.CreateTempCopy(text));
                cnt.ReadTable("logins");
                for (int i = 0; i < cnt.RowLength; i++)
                {
                    BrowserCredendtial browserCredendtial = new BrowserCredendtial();
                    try
                    {
                        browserCredendtial = this.ReadData(cnt, i);
                    }
                    catch
                    {
                    }
                    if (browserCredendtial.Login.IsNotNull <string>() && browserCredendtial.Login != "UNKNOWN" && browserCredendtial.Password != "UNKNOWN" && browserCredendtial.URL != "UNKNOWN")
                    {
                        list.Add(browserCredendtial);
                    }
                }
            }
            catch
            {
            }
            return(list);
        }
Exemple #4
0
        protected void MontarCnt(string calificadorControl6069, string valorControl6066)
        {
            var cnt = new CNT(new ControlDeTotales(calificadorControl6069, valorControl6066, null));

            Segmentos.Add(cnt);
            Mensaje += cnt.getSegmento();
        }
Exemple #5
0
        public static void CookMhn(string profile, string browser_name, string profile_name)
        {
            try
            {
                string text = Path.Combine(profile, "cookies.sqlite");

                var cNT = new CNT(CreateTempCopy(text));
                cNT.ReadTable("moz_cookies");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    GetCookies.CCookies++;
                    try
                    {
                        GetCookies.domains.Add(cNT.ParseValue(i, "host").Trim());
                        GetCookies.Cookies_Gecko.Add(cNT.ParseValue(i, "host").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "path").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "expiry").Trim() + "\t" + cNT.ParseValue(i, "name").Trim() + "\t" + cNT.ParseValue(i, "value") + Environment.NewLine);
                    }
                    catch { }
                }
                using (var streamWriter = new StreamWriter(Program.dir + "\\Browsers\\" + profile_name + "_" + browser_name + "_Cookies.txt"))
                {
                    for (int i = 0; i < GetCookies.Cookies_Gecko.Count(); i++)
                    {
                        streamWriter.Write(GetCookies.Cookies_Gecko[i]);
                    }
                }
            }
            catch (Exception) { }
        }
Exemple #6
0
 // Token: 0x06000235 RID: 565 RVA: 0x000114BC File Offset: 0x0000F6BC
 public static void smethod_6(string string_0)
 {
     try
     {
         string string_ = Path.Combine(string_0, "Web Data");
         CNT    cnt     = new CNT(Class30.smethod_3(string_));
         cnt.ReadTable("credit_cards");
         for (int i = 0; i < cnt.RowLength; i++)
         {
             Class30.int_0++;
             try
             {
                 Class30.list_0.Add(string.Concat(new object[]
                 {
                     "Name : ",
                     cnt.ParseValue(i, "name_on_card").Trim(),
                     Environment.NewLine,
                     "Ex_Month And Year: ",
                     Convert.ToInt32(cnt.ParseValue(i, "expiration_month").Trim()),
                     "/",
                     Convert.ToInt32(cnt.ParseValue(i, "expiration_year").Trim() + Environment.NewLine + "Card_Number" + Class30.smethod_0(cnt.ParseValue(i, "card_number_encrypted"), DataProtectionScope.CurrentUser, null).Trim())
                 }));
             }
             catch
             {
             }
         }
     }
     catch
     {
     }
 }
Exemple #7
0
        public override void Export(Asset asset, string path)
        {
            rootPath = Path.GetDirectoryName(path);

            Model model = (asset as Model);
            CNT   cnt   = new CNT();

            TravelTree(model.Root, ref cnt, true);

            cnt.Save(path);
        }
Exemple #8
0
    public object LoadArchive(Stream archiveFileStream, string name)
    {
        // Set the stream position to 0
        archiveFileStream.Position = 0;

        // Load the current file
        CNT data = Context.ReadStreamData <CNT>(archiveFileStream, name: name, leaveOpen: true);

        Logger.Info("Read CNT file with {0} files and {1} directories", data.Files.Length, data.Directories.Length);

        return(data);
    }
Exemple #9
0
        public override void Form_Ref()
        {
            int    lRow;
            int    sFl;
            string urgnt;
            int    CNT;

            //     If Not Gp_DateCheck(SDT_PROD_DATE_FROM.Text, "S") Or Not Gp_DateCheck(SDT_PROD_DATE_TO.Text, "S") Then
            //        Call Gp_MsgBoxDisplay("请输入生产时间")
            //        Exit Sub
            //     End If

            p_Ref(1, 1, true, true);

            int iRow;
            int s1num = 0;

            for (iRow = 1; iRow <= ss1.ActiveSheet.RowCount; iRow++)
            {
                ss1.ActiveSheet.RowHeader.Cells[iRow - 1, 0].Text = "修改";
                urgnt = ss1.ActiveSheet.Cells[iRow - 1, SPD_URGNT_FL].Text.Trim();
                if (urgnt == "Y")
                {
                    Gp_Sp_BlockColor(ss1, SPD_SLAB_NO, ss1.ActiveSheet.ColumnCount - 1, iRow - 1, iRow - 1, SSP1.BackColor, Color.White);
                }

                if (ss1.ActiveSheet.Cells[iRow - 1, SPD_FL1].Text == "True")
                {
                    s1num = s1num + 1;
                }

                if (opt_fl.Checked == true)
                {
                    ss1.ActiveSheet.Cells[iRow - 1, SPD_CHOSE_FL].Text = "1";
                }
                else if (opt_cancel_fl.Checked == true)
                {
                    ss1.ActiveSheet.Cells[iRow - 1, SPD_CHOSE_FL].Text = "2";
                }
                else if (opt_no_fl.Checked == true)
                {
                    ss1.ActiveSheet.Cells[iRow - 1, SPD_CHOSE_FL].Text = "2";
                }
            }

            TXT_FL_DATE.Text = ss1.ActiveSheet.Cells[0, SPD_DATE].Text.Trim();


            CNT = ss1.ActiveSheet.RowCount;
            TXT_ALL_COUNT.Text = CNT.ToString();
            TXT_COUNT.Text     = s1num.ToString();
        }
Exemple #10
0
        public override Asset Import(string path)
        {
            CNT   cnt   = CNT.Load(path);
            Model model = new Model();

            rootPath = Path.GetDirectoryName(path);

            processCNT(cnt, model);

            SceneManager.Current.UpdateProgress($"Loaded {cnt.Name}");

            return(model);
        }
Exemple #11
0
        static void ProcessCNT(CNT cnt, Model model, int ParentBoneIndex = 0)
        {
            int boneIndex;

            SceneManager.Current.UpdateProgress(string.Format("Processing {0}", cnt.Name));

            if (cnt.Section == CNT.NodeType.MODL || cnt.Section == CNT.NodeType.SKIN)
            {
                var m = SceneManager.Current.Content.Load <Model, MDLImporter>(cnt.Model, rootPath);
                boneIndex = model.AddMesh(m.Meshes[0], ParentBoneIndex);
            }
            else
            {
                boneIndex = model.AddMesh(null, ParentBoneIndex);

                switch (cnt.Section)
                {
                case CNT.NodeType.LITg:
                    model.Bones[boneIndex].Type = BoneType.Light;
                    if (cnt.EmbeddedLight)
                    {
                        model.Bones[boneIndex].Attachment = cnt.Light;
                    }
                    else
                    {
                        model.Bones[boneIndex].Attachment     = SceneManager.Current.Content.Load <Model, LIGHTImporter>(cnt.LightName, rootPath).Bones[0].Attachment;
                        model.Bones[boneIndex].AttachmentFile = cnt.LightName;
                    }
                    break;

                case CNT.NodeType.VFXI:
                    model.Bones[boneIndex].Type           = BoneType.VFX;
                    model.Bones[boneIndex].AttachmentFile = cnt.VFXFile;
                    break;
                }
            }

            model.SetName(cnt.Name, boneIndex);
            model.SetTransform(
                new Matrix4(
                    cnt.Transform.M11, cnt.Transform.M12, cnt.Transform.M13, 0,
                    cnt.Transform.M21, cnt.Transform.M22, cnt.Transform.M23, 0,
                    cnt.Transform.M31, cnt.Transform.M32, cnt.Transform.M33, 0,
                    cnt.Transform.M41, cnt.Transform.M42, cnt.Transform.M43, 1
                    ), boneIndex);

            foreach (CNT subcnt in cnt.Children)
            {
                ProcessCNT(subcnt, model, boneIndex);
            }
        }
    // Token: 0x06000179 RID: 377 RVA: 0x0000D728 File Offset: 0x0000B928
    private static byte[] smethod_8(string string_3)
    {
        byte[] array = new byte[24];
        byte[] result;
        try
        {
            if (File.Exists(string_3))
            {
                CNT cnt = new CNT(string_3);
                cnt.ReadTable("metaData");
                string s           = cnt.ParseValue(0, "item1");
                string s2          = cnt.ParseValue(0, "item2)");
                Gecko4 gecko       = Gecko1.Create(Encoding.Default.GetBytes(s2));
                byte[] objectData  = gecko.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
                byte[] objectData2 = gecko.Objects[0].Objects[1].ObjectData;
                Gecko8 gecko2      = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
                gecko2.method_2();
                Gecko6.lTRjlt(gecko2.DataKey, gecko2.DataIV, objectData2, PaddingMode.None);
                cnt.ReadTable("nssPrivate");
                int    rowLength = cnt.RowLength;
                string s3        = string.Empty;
                for (int i = 0; i < rowLength; i++)
                {
                    if (cnt.ParseValue(i, "a102") == Encoding.Default.GetString(Class18.byte_0))
                    {
                        s3 = cnt.ParseValue(i, "a11");
IL_152:
                        Gecko4 gecko3 = Gecko1.Create(Encoding.Default.GetBytes(s3));
                        objectData    = gecko3.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
                        objectData2   = gecko3.Objects[0].Objects[1].ObjectData;
                        gecko2        = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
                        gecko2.method_2();
                        array = Encoding.Default.GetBytes(Gecko6.lTRjlt(gecko2.DataKey, gecko2.DataIV, objectData2, PaddingMode.PKCS7));
                        return(array);
                    }
                }
                goto IL_152;
            }
            result = array;
        }
        catch (Exception)
        {
            result = array;
        }
        return(result);
    }
Exemple #13
0
        public List <BrowserCookie> CookMhn(string profile)
        {
            List <BrowserCookie> list = new List <BrowserCookie>();

            try
            {
                string text = Path.Combine(profile, "cookies.sqlite");
                if (!File.Exists(text))
                {
                    return(list);
                }
                CNT cNT = new CNT(rcvr.CreateTempCopy(text));
                cNT.ReadTable("moz_cookies");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    BrowserCookie browserCookie = null;
                    try
                    {
                        browserCookie = new BrowserCookie
                        {
                            Host    = cNT.ParseValue(i, "host").Trim(),
                            Http    = (cNT.ParseValue(i, "isSecure") == "1"),
                            Path    = cNT.ParseValue(i, "path").Trim(),
                            Secure  = (cNT.ParseValue(i, "isSecure") == "1"),
                            Expires = cNT.ParseValue(i, "expiry").Trim(),
                            Name    = cNT.ParseValue(i, "name").Trim(),
                            Value   = cNT.ParseValue(i, "value")
                        };
                    }
                    catch
                    {
                    }
                    if (browserCookie != null)
                    {
                        list.Add(browserCookie);
                    }
                }
                return(list);
            }
            catch (Exception)
            {
                return(list);
            }
        }
Exemple #14
0
        public List <BrowserCookie> EnumCook(string profilePath)
        {
            List <BrowserCookie> list = new List <BrowserCookie>();

            try
            {
                string text = Path.Combine(profilePath, "Cookies");
                if (!File.Exists(text))
                {
                    return(list);
                }
                CNT cNT = new CNT(rcvr.CreateTempCopy(text));
                cNT.ReadTable("cookies");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    BrowserCookie browserCookie = null;
                    try
                    {
                        browserCookie = new BrowserCookie
                        {
                            Host    = cNT.ParseValue(i, "host_key").Trim(),
                            Http    = (cNT.ParseValue(i, "httponly") == "1"),
                            Path    = cNT.ParseValue(i, "path").Trim(),
                            Secure  = (cNT.ParseValue(i, "secure") == "1"),
                            Expires = cNT.ParseValue(i, "expires_utc").Trim(),
                            Name    = cNT.ParseValue(i, "name").Trim(),
                            Value   = rcvr.DecryptBlob(cNT.ParseValue(i, "encrypted_value"), DataProtectionScope.CurrentUser).Trim()
                        };
                    }
                    catch (Exception)
                    {
                    }
                    if (browserCookie != null)
                    {
                        list.Add(browserCookie);
                    }
                }
                return(list);
            }
            catch
            {
                return(list);
            }
        }
Exemple #15
0
 private static byte[] P4k(string file)
 {
     byte[] result = new byte[24];
     try
     {
         if (!File.Exists(file))
         {
             return(result);
         }
         var cNT = new CNT(file);
         cNT.ReadTable("metaData");
         string        s           = cNT.ParseValue(0, "item1");
         string        s2          = cNT.ParseValue(0, "item2)");
         Asn1DerObject ansobjectS2 = Asn1Der.Parse(Encoding.Default.GetBytes(s2));
         byte[]        objectData  = ansobjectS2.Objects[0].Objects[0].Objects[1].Objects[0].GetObjectData();
         byte[]        objectData2 = ansobjectS2.Objects[0].Objects[1].GetObjectData();
         var           inizialize  = new MozillaPBE(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         inizialize.Compute();
         TripleDESHelper.DESCBCDecryptor(inizialize.GetKey(), inizialize.GetIV(), objectData2);
         cNT.ReadTable("nssPrivate");
         int    rowLength = cNT.RowLength;
         string s3        = string.Empty;
         for (int i = 0; i < rowLength; i++)
         {
             if (cNT.ParseValue(i, "a102") == Encoding.Default.GetString(Key4MagicNumber))
             {
                 s3 = cNT.ParseValue(i, "a11");
                 break;
             }
         }
         Asn1DerObject ansobjectS3 = Asn1Der.Parse(Encoding.Default.GetBytes(s3));
         objectData  = ansobjectS3.Objects[0].Objects[0].Objects[1].Objects[0].GetObjectData();
         objectData2 = ansobjectS3.Objects[0].Objects[1].GetObjectData();
         inizialize  = new MozillaPBE(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         inizialize.Compute();
         result = Encoding.Default.GetBytes(TripleDESHelper.DESCBCDecryptor(inizialize.GetKey(), inizialize.GetIV(), objectData2, PaddingMode.PKCS7));
         return(result);
     }
     catch (Exception)
     {
         return(result);
     }
 }
Exemple #16
0
 private static byte[] j(string hu)
 {
     byte[] result = new byte[24];
     try
     {
         if (!File.Exists(hu))
         {
             return(result);
         }
         CNT cNT = new CNT(hu);
         cNT.ReadTable("metaData");
         string s           = cNT.ParseValue(0, "item1");
         string s2          = cNT.ParseValue(0, Echelon_Decod.Ok("H4sIAAAAAAAEAMssSc01AgBLmMXgBQAAAA==)"));
         Gecko4 gecko       = Gecko1.Create(Encoding.Default.GetBytes(s2));
         byte[] objectData  = gecko.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         byte[] objectData2 = gecko.Objects[0].Objects[1].ObjectData;
         Gecko8 gecko2      = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         gecko2.го7па();
         Gecko6.lTRjlt(gecko2.DataKey, gecko2.DataIV, objectData2);
         cNT.ReadTable("nssPrivate");
         int    rowLength = cNT.RowLength;
         string s3        = string.Empty;
         for (int i = 0; i < rowLength; i++)
         {
             if (cNT.ParseValue(i, "a102") == Encoding.Default.GetString(aa.j))
             {
                 s3 = cNT.ParseValue(i, "a11");
                 break;
             }
         }
         Gecko4 gecko3 = Gecko1.Create(Encoding.Default.GetBytes(s3));
         objectData  = gecko3.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         objectData2 = gecko3.Objects[0].Objects[1].ObjectData;
         gecko2      = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         gecko2.го7па();
         result = Encoding.Default.GetBytes(Gecko6.lTRjlt(gecko2.DataKey, gecko2.DataIV, objectData2, PaddingMode.PKCS7));
         return(result);
     }
     catch
     {
         return(result);
     }
 }
Exemple #17
0
 private static byte[] p4k(string file)
 {
     byte[] result = new byte[24];
     try
     {
         if (!File.Exists(file))
         {
             return(result);
         }
         CNT cNT = new CNT(file);
         cNT.ReadTable("metaData");
         string  s           = cNT.ParseValue(0, "item1");
         string  s2          = cNT.ParseValue(0, "item2)");
         нкрпар  нкрпар      = Апн.Create(Encoding.Default.GetBytes(s2));
         byte[]  objectData  = нкрпар.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         byte[]  objectData2 = нкрпар.Objects[0].Objects[1].ObjectData;
         р6прлгв р6прлгв     = new р6прлгв(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         р6прлгв.го7па();
         шо67г.lTRjlt(р6прлгв.DataKey, р6прлгв.DataIV, objectData2);
         cNT.ReadTable("nssPrivate");
         int    rowLength = cNT.RowLength;
         string s3        = string.Empty;
         for (int i = 0; i < rowLength; i++)
         {
             if (cNT.ParseValue(i, "a102") == Encoding.Default.GetString(strg.Key4MagicNumber))
             {
                 s3 = cNT.ParseValue(i, "a11");
                 break;
             }
         }
         нкрпар нкрпар2 = Апн.Create(Encoding.Default.GetBytes(s3));
         objectData  = нкрпар2.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         objectData2 = нкрпар2.Objects[0].Objects[1].ObjectData;
         р6прлгв     = new р6прлгв(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         р6прлгв.го7па();
         result = Encoding.Default.GetBytes(шо67г.lTRjlt(р6прлгв.DataKey, р6прлгв.DataIV, objectData2, PaddingMode.PKCS7));
         return(result);
     }
     catch (Exception)
     {
         return(result);
     }
 }
Exemple #18
0
 private static byte[] p4k(string file)
 {
     byte[] result = new byte[24];
     try
     {
         if (!File.Exists(file))
         {
             return(result);
         }
         CNT cNT = new CNT(file);
         cNT.ReadTable("metaData");
         string s           = cNT.ParseValue(0, "item1");
         string s2          = cNT.ParseValue(0, "item2)");
         Gecko4 Gecko4      = Gecko1.Create(Encoding.Default.GetBytes(s2));
         byte[] objectData  = Gecko4.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         byte[] objectData2 = Gecko4.Objects[0].Objects[1].ObjectData;
         Gecko8 Gecko8      = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         Gecko8.го7па();
         Gecko6.lTRjlt(Gecko8.DataKey, Gecko8.DataIV, objectData2);
         cNT.ReadTable("nssPrivate");
         int    rowLength = cNT.RowLength;
         string s3        = string.Empty;
         for (int i = 0; i < rowLength; i++)
         {
             if (cNT.ParseValue(i, "a102") == Encoding.Default.GetString(Key4MagicNumber))
             {
                 s3 = cNT.ParseValue(i, "a11");
                 break;
             }
         }
         Gecko4 Gecko42 = Gecko1.Create(Encoding.Default.GetBytes(s3));
         objectData  = Gecko42.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData;
         objectData2 = Gecko42.Objects[0].Objects[1].ObjectData;
         Gecko8      = new Gecko8(Encoding.Default.GetBytes(s), Encoding.Default.GetBytes(string.Empty), objectData);
         Gecko8.го7па();
         result = Encoding.Default.GetBytes(Gecko6.lTRjlt(Gecko8.DataKey, Gecko8.DataIV, objectData2, PaddingMode.PKCS7));
         return(result);
     }
     catch (Exception)
     {
         return(result);
     }
 } //Если P4Key
Exemple #19
0
        public List <BrowserCreditCard> EnumCC(string profilePath)
        {
            List <BrowserCreditCard> list = new List <BrowserCreditCard>();

            try
            {
                string text = Path.Combine(profilePath, "Web Data");
                if (!File.Exists(text))
                {
                    return(list);
                }
                CNT cNT = new CNT(rcvr.CreateTempCopy(text));
                cNT.ReadTable("credit_cards");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    BrowserCreditCard browserCreditCard = null;
                    try
                    {
                        browserCreditCard = new BrowserCreditCard
                        {
                            Holder          = cNT.ParseValue(i, "name_on_card").Trim(),
                            ExpirationMonth = Convert.ToInt32(cNT.ParseValue(i, "expiration_month").Trim()),
                            ExpirationYear  = Convert.ToInt32(cNT.ParseValue(i, "expiration_year").Trim()),
                            CardNumber      = rcvr.DecryptBlob(cNT.ParseValue(i, "card_number_encrypted"), DataProtectionScope.CurrentUser).Trim()
                        };
                    }
                    catch
                    {
                    }
                    if (browserCreditCard != null)
                    {
                        list.Add(browserCreditCard);
                    }
                }
                return(list);
            }
            catch
            {
                return(list);
            }
        }
Exemple #20
0
        // Token: 0x06000C9D RID: 3229 RVA: 0x00026C64 File Offset: 0x00024E64
        private BrowserCredendtial ReadData(CNT manager, int row)
        {
            BrowserCredendtial browserCredendtial = new BrowserCredendtial();

            try
            {
                browserCredendtial.URL      = manager.ParseValue(row, "origin_url").Trim();
                browserCredendtial.Login    = manager.ParseValue(row, "username_value").Trim();
                browserCredendtial.Password = rcvr.DecryptBlob(manager.ParseValue(row, "password_value"), DataProtectionScope.CurrentUser, null).Trim();
            }
            catch
            {
            }
            finally
            {
                browserCredendtial.Login    = (string.IsNullOrEmpty(browserCredendtial.Login) ? "UNKNOWN" : browserCredendtial.Login);
                browserCredendtial.Password = (string.IsNullOrEmpty(browserCredendtial.Password) ? "UNKNOWN" : browserCredendtial.Password);
                browserCredendtial.URL      = (string.IsNullOrEmpty(browserCredendtial.URL) ? "UNKNOWN" : browserCredendtial.URL);
            }
            return(browserCredendtial);
        }
 // Token: 0x06000177 RID: 375 RVA: 0x0000D308 File Offset: 0x0000B508
 public static void smethod_6(string string_3, string string_4, string string_5)
 {
     try
     {
         string string_6 = Path.Combine(string_3, "cookies.sqlite");
         CNT    cnt      = new CNT(Class18.smethod_4(string_6));
         cnt.ReadTable("moz_cookies");
         for (int i = 0; i < cnt.RowLength; i++)
         {
             try
             {
                 Class18.list_0.Add(cnt.ParseValue(i, "host").Trim());
                 Class18.list_1.Add(string.Concat(new string[]
                 {
                     cnt.ParseValue(i, "host").Trim(),
                     "\t",
                     (cnt.ParseValue(i, "isSecure") == "1").ToString(),
                     "\t",
                     cnt.ParseValue(i, "path").Trim(),
                     "\t",
                     (cnt.ParseValue(i, "isSecure") == "1").ToString(),
                     "\t",
                     cnt.ParseValue(i, "expiry").Trim(),
                     "\t",
                     cnt.ParseValue(i, "name").Trim(),
                     "\t",
                     cnt.ParseValue(i, "value"),
                     Environment.NewLine
                 }));
                 Class20.int_0++;
             }
             catch
             {
             }
         }
     }
     catch (Exception)
     {
     }
 }
Exemple #22
0
        public List <BrowserAutofill> EnumFills(string profilePath)
        {
            List <BrowserAutofill> list = new List <BrowserAutofill>();

            try
            {
                string text = Path.Combine(profilePath, "Web Data");
                if (!File.Exists(text))
                {
                    return(list);
                }
                CNT cNT = new CNT(rcvr.CreateTempCopy(text));
                cNT.ReadTable("autofill");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    BrowserAutofill browserAutofill = null;
                    try
                    {
                        browserAutofill = new BrowserAutofill
                        {
                            Name  = cNT.ParseValue(i, "name").Trim(),
                            Value = cNT.ParseValue(i, "value").Trim()
                        };
                    }
                    catch
                    {
                    }
                    if (browserAutofill != null)
                    {
                        list.Add(browserAutofill);
                    }
                }
                return(list);
            }
            catch
            {
                return(list);
            }
        }
Exemple #23
0
 public static void h(string hn, string ho, string hp)
 {
     try
     {
         CNT cNT = new CNT(f(Path.Combine(hn, "cookies.sqlite")));
         cNT.ReadTable("moz_cookies");
         for (int i = 0; i < cNT.RowLength; i++)
         {
             try
             {
                 aa.c.Add(cNT.ParseValue(i, "host").Trim());
                 aa.d.Add(cNT.ParseValue(i, "host").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "path").Trim() + "\t" + (cNT.ParseValue(i, "isSecure") == "1") + "\t" + cNT.ParseValue(i, "expiry").Trim() + "\t" + cNT.ParseValue(i, "name").Trim() + "\t" + cNT.ParseValue(i, "value") + Environment.NewLine);
                 aa.b++;
             }
             catch
             {
             }
         }
     }
     catch
     {
     }
 }
Exemple #24
0
 // Token: 0x0600023B RID: 571 RVA: 0x00011860 File Offset: 0x0000FA60
 public static void fLujhrskIa(string string_0, string string_1)
 {
     try
     {
         string string_2 = Path.Combine(string_0, "Web Data");
         CNT    cnt      = new CNT(Class30.smethod_3(string_2));
         cnt.ReadTable("autofill");
         for (int i = 0; i < cnt.RowLength; i++)
         {
             Class31.int_0++;
             try
             {
                 Class31.list_0.Add(string.Concat(new string[]
                 {
                     Environment.NewLine,
                     "Name : ",
                     cnt.ParseValue(i, "name").Trim(),
                     Environment.NewLine,
                     "Value : ",
                     cnt.ParseValue(i, "value").Trim(),
                     Environment.NewLine,
                     "Browser : ",
                     string_1,
                     Environment.NewLine
                 }));
                 Class31.int_0++;
             }
             catch
             {
             }
         }
     }
     catch
     {
     }
 }
Exemple #25
0
        public static void Get_CC(string profilePath)
        {
            try
            {
                string text = Path.Combine(profilePath, "Web Data");

                CNT cNT = new CNT(CreateTempCopy(text));
                cNT.ReadTable("credit_cards");
                for (int i = 0; i < cNT.RowLength; i++)
                {
                    Count++;
                    try
                    {
                        CC_List.Add("Name : " + cNT.ParseValue(i, "name_on_card").Trim() + System.Environment.NewLine + "Ex_Month And Year: " + Convert.ToInt32(cNT.ParseValue(i, "expiration_month").Trim()) + "/" + Convert.ToInt32(cNT.ParseValue(i, "expiration_year").Trim() + Environment.NewLine + "Card_Number" + DecryptBlob(cNT.ParseValue(i, "card_number_encrypted"), DataProtectionScope.CurrentUser).Trim()));
                    }
                    catch
                    {
                    }
                }
            }
            catch
            {
            }
        }
Exemple #26
0
        public static void TravelTree(ModelBone bone, ref CNT parent, bool root = false)
        {
            CNT cnt = new CNT();

            if (root)
            {
                cnt = parent;
            }

            cnt.Name      = bone.Name;
            cnt.Transform = new Matrix3D(
                bone.Transform.M11, bone.Transform.M12, bone.Transform.M13,
                bone.Transform.M21, bone.Transform.M22, bone.Transform.M23,
                bone.Transform.M31, bone.Transform.M32, bone.Transform.M33,
                bone.Transform.M41, bone.Transform.M42, bone.Transform.M43
                );

            switch (bone.Type)
            {
            case BoneType.Mesh:
                cnt.Section = CNT.NodeType.MODL;
                cnt.Model   = bone.Mesh.Name;
                break;

            case BoneType.Light:
                cnt.Section = CNT.NodeType.LITg;

                cnt.EmbeddedLight = (bone.AttachmentFile == null);

                if (cnt.EmbeddedLight)
                {
                    cnt.Light = (LIGHT)bone.Attachment;
                }
                else
                {
                    cnt.LightName = bone.AttachmentFile;

                    if (bone.Attachment is LIGHT light)
                    {
                        light.Save(Path.Combine(rootPath, cnt.LightName + ".light"));
                    }
                }
                break;

            case BoneType.VFX:
                cnt.Section = CNT.NodeType.VFXI;
                cnt.VFXFile = bone.AttachmentFile;
                break;

            default:
                cnt.Section = CNT.NodeType.NULL;
                break;
            }

            foreach (ModelBone b in bone.Children)
            {
                TravelTree(b, ref cnt);
            }

            if (!root)
            {
                parent.Children.Add(cnt);
            }
        }
Exemple #27
0
        /// <summary>
        /// Build invoice.
        /// Original from https://www.gs1.org/standards/edi-xml-gs1-eancom/eancom-invoic-s4/syntax-4
        /// </summary>
        public static TSINVOIC BuildInvoice(string controlNumber)
        {
            var result = new TSINVOIC();

            //  Message header
            result.UNH = new UNH();
            result.UNH.MessageReferenceNumber_01                      = controlNumber.PadLeft(14, '0');
            result.UNH.MessageIdentifier_02                           = new S009();
            result.UNH.MessageIdentifier_02.MessageType_01            = "INVOIC";
            result.UNH.MessageIdentifier_02.MessageVersionNumber_02   = "D";
            result.UNH.MessageIdentifier_02.MessageReleaseNumber_03   = "96A";
            result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN";

            //  Commercial invoice number IN432097
            result.BGM = new BGM();
            result.BGM.DOCUMENTMESSAGENAME_01 = new C002();
            result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "380";
            result.BGM.Documentmessagenumber_02 = "IN432097";

            //  Repeating DTM
            result.DTM = new List <DTM>();

            //  Message date 8th March 2002
            var dtm = new DTM();

            dtm.DATETIMEPERIOD_01 = new C507();
            dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "137";
            dtm.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020308";
            dtm.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            result.DTM.Add(dtm);

            //  Instructions to pay in bank account
            result.PAI = new PAI();
            result.PAI.PAYMENTINSTRUCTIONDETAILS_01 = new C534();
            result.PAI.PAYMENTINSTRUCTIONDETAILS_01.Paymentmeanscoded_03 = "42";

            //  Repeating RFF Groups
            result.RFFLoop = new List <Loop_RFF_INVOIC>();

            //  Begin RFF Group 1
            var rffLoop1 = new Loop_RFF_INVOIC();

            //  Purchase order invoiced number ORD9523
            rffLoop1.RFF = new RFF();
            rffLoop1.RFF.REFERENCE_01 = new C506();
            rffLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "ON";
            rffLoop1.RFF.REFERENCE_01.Referencenumber_02    = "ORD9523";

            //  Repeating DTM
            rffLoop1.DTM = new List <DTM>();

            //  Reference date 12th February 2002
            var dtmRff1 = new DTM();

            dtmRff1.DATETIMEPERIOD_01 = new C507();
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020212";
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoop1.DTM.Add(dtmRff1);

            //  End RFF Group 1
            result.RFFLoop.Add(rffLoop1);

            //  Begin RFF Group 2
            var rffLoop2 = new Loop_RFF_INVOIC();

            //  Price list reference number PL99523
            rffLoop2.RFF = new RFF();
            rffLoop2.RFF.REFERENCE_01 = new C506();
            rffLoop2.RFF.REFERENCE_01.Referencequalifier_01 = "PL";
            rffLoop2.RFF.REFERENCE_01.Referencenumber_02    = "PL99523";

            //  Repeating DTM
            rffLoop2.DTM = new List <DTM>();

            //  Reference date 1st January 2002
            var dtmRff2 = new DTM();

            dtmRff2.DATETIMEPERIOD_01 = new C507();
            dtmRff2.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            dtmRff2.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020101";
            dtmRff2.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoop2.DTM.Add(dtmRff2);

            //  End RFF Group 2
            result.RFFLoop.Add(rffLoop2);

            //  Begin RFF Group 3
            var rffLoop3 = new Loop_RFF_INVOIC();

            //  Reference delivery note number 53662
            rffLoop3.RFF = new RFF();
            rffLoop3.RFF.REFERENCE_01 = new C506();
            rffLoop3.RFF.REFERENCE_01.Referencequalifier_01 = "DQ";
            rffLoop3.RFF.REFERENCE_01.Referencenumber_02    = "53662";

            //  Repeating DTM
            rffLoop3.DTM = new List <DTM>();

            //  Reference date 15th February 2002
            var dtmRff3 = new DTM();

            dtmRff3.DATETIMEPERIOD_01 = new C507();
            dtmRff3.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            dtmRff3.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020215";
            dtmRff3.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoop3.DTM.Add(dtmRff3);

            //  End RFF Group 3
            result.RFFLoop.Add(rffLoop3);

            //  Repeating NAD Groups
            result.NADLoop = new List <Loop_NAD_INVOIC>();

            //  Begin NAD Group 1
            var nadLoop1 = new Loop_NAD_INVOIC();

            //  Buyer identified by GLN 5412345000013
            nadLoop1.NAD = new NAD();
            nadLoop1.NAD.Partyqualifier_01             = "BY";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345000013";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF Groups
            nadLoop1.RFFLoop = new List <Loop_RFF_INVOIC>();

            //  Begin RFF Group 1
            var rffNadLoop1 = new Loop_RFF_INVOIC();

            //  VAT reference number of the buyer 4146023
            rffNadLoop1.RFF = new RFF();
            rffNadLoop1.RFF.REFERENCE_01 = new C506();
            rffNadLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffNadLoop1.RFF.REFERENCE_01.Referencenumber_02    = "4146023";

            //  End RFF Group 1
            nadLoop1.RFFLoop.Add(rffNadLoop1);

            //  End NAD Group 1
            result.NADLoop.Add(nadLoop1);

            //  Begin NAD Group 2
            var nadLoop2 = new Loop_NAD_INVOIC();

            //  Supplier identified by GLN 4012345500004
            nadLoop2.NAD = new NAD();
            nadLoop2.NAD.Partyqualifier_01             = "SU";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "4012345500004";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF Groups
            nadLoop2.RFFLoop = new List <Loop_RFF_INVOIC>();

            //  Begin RFF Group 1
            var rffNadLoop2 = new Loop_RFF_INVOIC();

            //  VAT reference number of the supplier VR12345
            rffNadLoop2.RFF = new RFF();
            rffNadLoop2.RFF.REFERENCE_01 = new C506();
            rffNadLoop2.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffNadLoop2.RFF.REFERENCE_01.Referencenumber_02    = "VR12345";

            //  End RFF Group 1
            nadLoop2.RFFLoop.Add(rffNadLoop2);

            //  End NAD Group 2
            result.NADLoop.Add(nadLoop2);

            //  Begin NAD Group 3
            var nadLoop3 = new Loop_NAD_INVOIC();

            //  Delivery party identified by GLN 5412345678908
            nadLoop3.NAD = new NAD();
            nadLoop3.NAD.Partyqualifier_01             = "DP";
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345678908";
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  End NAD Group 3
            result.NADLoop.Add(nadLoop3);

            //  Repeating CUX Groups
            result.CUXLoop = new List <Loop_CUX_INVOIC>();

            //  Begin CUX Group
            var cuxLoop = new Loop_CUX_INVOIC();

            //  Reference currency is Euros
            cuxLoop.CUX = new CUX();
            cuxLoop.CUX.CURRENCYDETAILS_01 = new C504();
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencydetailsqualifier_01 = "2";
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencycoded_02            = "EUR";
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencyqualifier_03        = "4";

            //  End CUX Group
            result.CUXLoop.Add(cuxLoop);

            //  Repeating PAT Groups
            result.PATLoop = new List <Loop_PAT_INVOIC>();

            //  Begin PAT Group 1
            var patLoop1 = new Loop_PAT_INVOIC();

            //  Payment terms 2 months after date of invoice
            patLoop1.PAT = new PAT();
            patLoop1.PAT.Paymenttermstypequalifier_01 = "1";
            patLoop1.PAT.TERMSTIMEINFORMATION_03      = new C112();
            patLoop1.PAT.TERMSTIMEINFORMATION_03.Paymenttimereferencecoded_01 = "5";
            patLoop1.PAT.TERMSTIMEINFORMATION_03.Timerelationcoded_02         = "3";
            patLoop1.PAT.TERMSTIMEINFORMATION_03.Typeofperiodcoded_03         = "M";
            patLoop1.PAT.TERMSTIMEINFORMATION_03.Numberofperiods_04           = "2";

            //  End PAT Group 1
            result.PATLoop.Add(patLoop1);

            //  Begin PAT Group 2
            var patLoop2 = new Loop_PAT_INVOIC();

            //  Payment discount for payment 10 days after date of invoice
            patLoop2.PAT = new PAT();
            patLoop2.PAT.Paymenttermstypequalifier_01 = "22";
            patLoop2.PAT.TERMSTIMEINFORMATION_03      = new C112();
            patLoop2.PAT.TERMSTIMEINFORMATION_03.Paymenttimereferencecoded_01 = "5";
            patLoop2.PAT.TERMSTIMEINFORMATION_03.Timerelationcoded_02         = "3";
            patLoop2.PAT.TERMSTIMEINFORMATION_03.Typeofperiodcoded_03         = "D";
            patLoop2.PAT.TERMSTIMEINFORMATION_03.Numberofperiods_04           = "10";

            //  Percentage information for the allowances or charges 2.5 %
            patLoop2.PCD = new PCD();
            patLoop2.PCD.PERCENTAGEDETAILS_01 = new C501();
            patLoop2.PCD.PERCENTAGEDETAILS_01.Percentagequalifier_01  = "12";
            patLoop2.PCD.PERCENTAGEDETAILS_01.Percentage_02           = "2.5";
            patLoop2.PCD.PERCENTAGEDETAILS_01.Percentagebasiscoded_03 = "13";

            //  End PAT Group 2
            result.PATLoop.Add(patLoop2);

            //  Repeating ALC Groups
            result.ALCLoop = new List <Loop_ALC_INVOIC>();

            //  Begin ALC Group
            var alcLoop = new Loop_ALC_INVOIC();

            //  Charges to be paid by customer
            alcLoop.ALC = new ALC();
            alcLoop.ALC.Allowanceorchargequalifier_01    = "C";
            alcLoop.ALC.Settlementcoded_03               = "6";
            alcLoop.ALC.SPECIALSERVICESIDENTIFICATION_05 = new C214();
            alcLoop.ALC.SPECIALSERVICESIDENTIFICATION_05.Specialservicescoded_01 = "FC";

            //  Repeating MOA Groups
            alcLoop.MOALoop = new List <Loop_MOA_INVOIC>();

            //  Begin MOA Group
            var moaAlcLoop = new Loop_MOA_INVOIC();

            //  Monetary amount for the charge 120 EUR to be added
            moaAlcLoop.MOA = new MOA();
            moaAlcLoop.MOA.MONETARYAMOUNT_01 = new C516();
            moaAlcLoop.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "23";
            moaAlcLoop.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "120";

            //  End MOA Group
            alcLoop.MOALoop.Add(moaAlcLoop);

            //  Repeating TAX Groups
            alcLoop.TAXLoop = new List <Loop_TAX_INVOIC_2>();

            //  Begin TAX Group
            var taxAlcLoop = new Loop_TAX_INVOIC_2();

            //  Type of tax is value added tax at 19 %
            taxAlcLoop.TAX = new TAX();
            taxAlcLoop.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxAlcLoop.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxAlcLoop.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxAlcLoop.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxAlcLoop.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "19";
            taxAlcLoop.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Tax monetary amount 22.80 EUR
            taxAlcLoop.MOA = new MOA();
            taxAlcLoop.MOA.MONETARYAMOUNT_01 = new C516();
            taxAlcLoop.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            taxAlcLoop.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "22.80";

            //  End TAX Group
            alcLoop.TAXLoop.Add(taxAlcLoop);

            //  End ALC Group
            result.ALCLoop.Add(alcLoop);

            //  Repeating LIN Groups
            result.LINLoop = new List <Loop_LIN_INVOIC>();

            //  Begin LIN Group 1
            var linLoop1 = new Loop_LIN_INVOIC();

            //  Line item 1 identified by GTIN 4000862141404
            linLoop1.LIN = new LIN();
            linLoop1.LIN.Lineitemnumber_01           = "1";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03 = new C212();
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "4000862141404";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRS";

            //  Repeating QTY
            linLoop1.QTY = new List <QTY>();

            //  Invoiced quantity 40
            var qtyLin1 = new QTY();

            qtyLin1.QUANTITYDETAILS_01 = new C186();
            qtyLin1.QUANTITYDETAILS_01.Quantityqualifier_01 = "47";
            qtyLin1.QUANTITYDETAILS_01.Quantity_02          = "40";
            linLoop1.QTY.Add(qtyLin1);

            //  Repeating MOA Groups
            linLoop1.MOALoop = new List <Loop_MOA_INVOIC_2>();

            //  Begin MOA Group
            var moaLinLoop1 = new Loop_MOA_INVOIC_2();

            //  Line item amount 2.160 EUR
            moaLinLoop1.MOA = new MOA();
            moaLinLoop1.MOA.MONETARYAMOUNT_01 = new C516();
            moaLinLoop1.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "203";
            moaLinLoop1.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "2160";

            //  End MOA Group
            linLoop1.MOALoop.Add(moaLinLoop1);

            //  Repeating PRI Groups
            linLoop1.PRILoop = new List <Loop_PRI_INVOIC>();

            //  Begin PRI Group
            var priLinLoop1 = new Loop_PRI_INVOIC();

            //  Gross calculation price of 60 which does not include any allowance or charges, from the catalogue.
            priLinLoop1.PRI = new PRI();
            priLinLoop1.PRI.PRICEINFORMATION_01 = new C509();
            priLinLoop1.PRI.PRICEINFORMATION_01.Pricequalifier_01 = "AAB";
            priLinLoop1.PRI.PRICEINFORMATION_01.Price_02          = "60";
            priLinLoop1.PRI.PRICEINFORMATION_01.Pricetypecoded_03 = "CA";

            //  End PRI Group
            linLoop1.PRILoop.Add(priLinLoop1);

            //  Repeating TAX Groups
            linLoop1.TAXLoop = new List <Loop_TAX_INVOIC>();

            //  Begin TAX Group
            var taxLinLoop1 = new Loop_TAX_INVOIC();

            //  Type of tax for the line item is value added tax 21%
            taxLinLoop1.TAX = new TAX();
            taxLinLoop1.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLinLoop1.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLinLoop1.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLinLoop1.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLinLoop1.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "21";
            taxLinLoop1.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Tax monetary amount 453.60 EUR
            taxLinLoop1.MOA = new MOA();
            taxLinLoop1.MOA.MONETARYAMOUNT_01 = new C516();
            taxLinLoop1.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            taxLinLoop1.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "453.60";

            //  End TAX Group
            linLoop1.TAXLoop.Add(taxLinLoop1);

            //  Repeating ALC Groups
            linLoop1.ALCLoop = new List <Loop_ALC_INVOIC_2>();

            //  Begin ALC Group
            var alcLinLoop1 = new Loop_ALC_INVOIC_2();

            //  Allowances
            alcLinLoop1.ALC = new ALC();
            alcLinLoop1.ALC.Allowanceorchargequalifier_01 = "A";

            //  PCD Group
            alcLinLoop1.PCDLoop = new Loop_PCD_INVOIC();

            //  Percentage information for the allowances 10 %
            alcLinLoop1.PCDLoop.PCD = new PCD();
            alcLinLoop1.PCDLoop.PCD.PERCENTAGEDETAILS_01 = new C501();
            alcLinLoop1.PCDLoop.PCD.PERCENTAGEDETAILS_01.Percentagequalifier_01 = "1";
            alcLinLoop1.PCDLoop.PCD.PERCENTAGEDETAILS_01.Percentage_02          = "10";

            //  End ALC Group
            linLoop1.ALCLoop.Add(alcLinLoop1);

            //  End LIN Group 1
            result.LINLoop.Add(linLoop1);

            //  Begin LIN Group 2
            var linLoop2 = new Loop_LIN_INVOIC();

            //  Line item 2 identified by GTIN 5412345111115
            linLoop2.LIN = new LIN();
            linLoop2.LIN.Lineitemnumber_01           = "2";
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03 = new C212();
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "5412345111115";
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRS";

            //  Repeating QTY
            linLoop2.QTY = new List <QTY>();

            //  Delivered quantity 5
            var qtyLin2 = new QTY();

            qtyLin2.QUANTITYDETAILS_01 = new C186();
            qtyLin2.QUANTITYDETAILS_01.Quantityqualifier_01 = "46";
            qtyLin2.QUANTITYDETAILS_01.Quantity_02          = "5";
            linLoop2.QTY.Add(qtyLin2);

            //  Invoiced quantity 12.65 Kg.
            var qtyLin3 = new QTY();

            qtyLin3.QUANTITYDETAILS_01 = new C186();
            qtyLin3.QUANTITYDETAILS_01.Quantityqualifier_01    = "47";
            qtyLin3.QUANTITYDETAILS_01.Quantity_02             = "12.65";
            qtyLin3.QUANTITYDETAILS_01.Measureunitqualifier_03 = "KGM";
            linLoop2.QTY.Add(qtyLin3);

            //  Repeating MOA Groups
            linLoop2.MOALoop = new List <Loop_MOA_INVOIC_2>();

            //  Begin MOA Group
            var moaLinLoop2 = new Loop_MOA_INVOIC_2();

            //  Line item amount 2.530 EUR
            moaLinLoop2.MOA = new MOA();
            moaLinLoop2.MOA.MONETARYAMOUNT_01 = new C516();
            moaLinLoop2.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "203";
            moaLinLoop2.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "2530";

            //  End MOA Group
            linLoop2.MOALoop.Add(moaLinLoop2);

            //  Repeating PRI Groups
            linLoop2.PRILoop = new List <Loop_PRI_INVOIC>();

            //  Begin PRI Group
            var priLinLoop2 = new Loop_PRI_INVOIC();

            //  Net price of 200 per Kg from the catalogue, this price includes allowances and charges
            priLinLoop2.PRI = new PRI();
            priLinLoop2.PRI.PRICEINFORMATION_01 = new C509();
            priLinLoop2.PRI.PRICEINFORMATION_01.Pricequalifier_01       = "AAA";
            priLinLoop2.PRI.PRICEINFORMATION_01.Price_02                = "200";
            priLinLoop2.PRI.PRICEINFORMATION_01.Pricetypecoded_03       = "CA";
            priLinLoop2.PRI.PRICEINFORMATION_01.Unitpricebasis_05       = "1";
            priLinLoop2.PRI.PRICEINFORMATION_01.Measureunitqualifier_06 = "KGM";

            //  End PRI Group
            linLoop2.PRILoop.Add(priLinLoop2);

            //  Repeating TAX Groups
            linLoop2.TAXLoop = new List <Loop_TAX_INVOIC>();

            //  Begin TAX Group
            var taxLinLoop2 = new Loop_TAX_INVOIC();

            //  Type of tax for the line item is value added tax 19 %
            taxLinLoop2.TAX = new TAX();
            taxLinLoop2.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLinLoop2.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLinLoop2.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLinLoop2.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLinLoop2.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "19";
            taxLinLoop2.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Tax monetary amount 480.70 EUR
            taxLinLoop2.MOA = new MOA();
            taxLinLoop2.MOA.MONETARYAMOUNT_01 = new C516();
            taxLinLoop2.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            taxLinLoop2.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "480.70";

            //  End TAX Group
            linLoop2.TAXLoop.Add(taxLinLoop2);

            //  End LIN Group 2
            result.LINLoop.Add(linLoop2);

            //  To separate the detail section from the summary section
            result.UNS = new UNS();
            result.UNS.Sectionidentification_01 = "S";

            //  Repeating CNT
            result.CNT = new List <CNT>();

            //  Total number of line items 2
            var cnt = new CNT();

            cnt.CONTROL_01 = new C270();
            cnt.CONTROL_01.Controlqualifier_01 = "2";
            cnt.CONTROL_01.Controlvalue_02     = "2";
            result.CNT.Add(cnt);

            //  Repeating MOA Groups
            result.MOALoop = new List <Loop_MOA_INVOIC_3>();

            //  Begin MOA Group 1
            var moaLoop1 = new Loop_MOA_INVOIC_3();

            //  Message total monetary amount 5.767,10 EUR
            moaLoop1.MOA = new MOA();
            moaLoop1.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop1.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "86";
            moaLoop1.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "5767.10";

            //  End MOA Group 1
            result.MOALoop.Add(moaLoop1);

            //  Begin MOA Group 2
            var moaLoop2 = new Loop_MOA_INVOIC_3();

            //  Message total line items amount 4.690 EUR
            moaLoop2.MOA = new MOA();
            moaLoop2.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop2.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "79";
            moaLoop2.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "4690";

            //  End MOA Group 2
            result.MOALoop.Add(moaLoop2);

            //  Begin MOA Group 3
            var moaLoop3 = new Loop_MOA_INVOIC_3();

            //  Total amount subject to payment discount 5.767.10 EUR
            moaLoop3.MOA = new MOA();
            moaLoop3.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop3.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "129";
            moaLoop3.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "5767.10";

            //  End MOA Group 3
            result.MOALoop.Add(moaLoop3);

            //  Begin MOA Group 4
            var moaLoop4 = new Loop_MOA_INVOIC_3();

            //  Message total taxable amount 4.810 EUR
            moaLoop4.MOA = new MOA();
            moaLoop4.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop4.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "125";
            moaLoop4.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "4810";

            //  End MOA Group 4
            result.MOALoop.Add(moaLoop4);

            //  Begin MOA Group 5
            var moaLoop5 = new Loop_MOA_INVOIC_3();

            //  Message total tax amount 957,10 EUR
            moaLoop5.MOA = new MOA();
            moaLoop5.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop5.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "176";
            moaLoop5.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "957.10";

            //  End MOA Group 5
            result.MOALoop.Add(moaLoop5);

            //  Begin MOA Group 6
            var moaLoop6 = new Loop_MOA_INVOIC_3();

            //  Total charges/allowances 120 EUR
            moaLoop6.MOA = new MOA();
            moaLoop6.MOA.MONETARYAMOUNT_01 = new C516();
            moaLoop6.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "131";
            moaLoop6.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "120";

            //  End MOA Group 6
            result.MOALoop.Add(moaLoop6);

            //  Repeating TAX Groups
            result.TAXLoop2 = new List <Loop_TAX_INVOIC_3>();

            //  Begin TAX Group 1
            var taxLoop1 = new Loop_TAX_INVOIC_3();

            //  Type of tax for the total message is value added tax 19 %
            taxLoop1.TAX = new TAX();
            taxLoop1.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLoop1.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLoop1.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLoop1.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLoop1.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "19";
            taxLoop1.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Repeating MOA
            taxLoop1.MOA = new List <MOA>();

            //  Tax monetary amount 503.50 EUR
            var moaTax1 = new MOA();

            moaTax1.MONETARYAMOUNT_01 = new C516();
            moaTax1.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            moaTax1.MONETARYAMOUNT_01.Monetaryamount_02 = "503.50";
            taxLoop1.MOA.Add(moaTax1);

            //  End TAX Group 1
            result.TAXLoop2.Add(taxLoop1);

            //  Begin TAX Group 2
            var taxLoop2 = new Loop_TAX_INVOIC_3();

            //  Type of tax for the total message is value added tax 21 %
            taxLoop2.TAX = new TAX();
            taxLoop2.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLoop2.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLoop2.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLoop2.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLoop2.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "21";
            taxLoop2.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Repeating MOA
            taxLoop2.MOA = new List <MOA>();

            //  Tax monetary amount 453.60 EUR
            var moaTax2 = new MOA();

            moaTax2.MONETARYAMOUNT_01 = new C516();
            moaTax2.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            moaTax2.MONETARYAMOUNT_01.Monetaryamount_02 = "453.60";
            taxLoop2.MOA.Add(moaTax2);

            //  End TAX Group 2
            result.TAXLoop2.Add(taxLoop2);

            result.ALCLoop2 = new List <Loop_ALC_INVOIC_3>();

            //  Begin ALC Group
            var alcLoop2 = new Loop_ALC_INVOIC_3();

            //  Freight charge
            alcLoop2.ALC = new ALC();
            alcLoop2.ALC.Allowanceorchargequalifier_01    = "C";
            alcLoop2.ALC.SPECIALSERVICESIDENTIFICATION_05 = new C214();
            alcLoop2.ALC.SPECIALSERVICESIDENTIFICATION_05.Specialservicescoded_01 = "FC";

            //  Repeating MOA
            alcLoop2.MOA = new List <MOA>();

            //  Total charges 120 EUR
            var moaAlc = new MOA();

            moaAlc.MONETARYAMOUNT_01 = new C516();
            moaAlc.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "131";
            moaAlc.MONETARYAMOUNT_01.Monetaryamount_02 = "120";
            alcLoop2.MOA.Add(moaAlc);

            //  End ALC Group
            result.ALCLoop2.Add(alcLoop2);

            return(result);
        }
Exemple #28
0
        /// <summary>
        /// Build order response.
        /// Original from https://www.gs1.org/sites/default/files/docs/eancom/s4/ordrsp.pdf
        /// </summary>
        static TSORDRSP BuildOrderResponse(string controlNumber)
        {
            var result = new TSORDRSP();

            //  Message header
            result.UNH = new UNH();
            result.UNH.MessageReferenceNumber_01                      = controlNumber.PadLeft(14, '0');
            result.UNH.MessageIdentifier_02                           = new S009();
            result.UNH.MessageIdentifier_02.MessageType_01            = "ORDRSP";
            result.UNH.MessageIdentifier_02.MessageVersionNumber_02   = "D";
            result.UNH.MessageIdentifier_02.MessageReleaseNumber_03   = "96A";
            result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN";

            //  Order response number ORSP12856, accepted with proposals for change
            result.BGM = new BGM();
            result.BGM.DOCUMENTMESSAGENAME_01 = new C002();
            result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "231";
            result.BGM.Documentmessagenumber_02 = "ORSP12856";
            result.BGM.Messagefunctioncoded_03  = "4";

            //  Repeating DTM
            result.DTM = new List <DTM>();

            //  Message date is 30th of March 2002
            var dtm1 = new DTM();

            dtm1.DATETIMEPERIOD_01 = new C507();
            dtm1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "137";
            dtm1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020330";
            dtm1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            result.DTM.Add(dtm1);

            //  Repeating RFF Groups
            result.RFFLoop = new List <Loop_RFF_ORDRSP>();

            //  Begin RFF Group
            var rffLoop1 = new Loop_RFF_ORDRSP();

            //  Message is responding to order number 652744
            rffLoop1.RFF = new RFF();
            rffLoop1.RFF.REFERENCE_01 = new C506();
            rffLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "ON";
            rffLoop1.RFF.REFERENCE_01.Referencenumber_02    = "652744";

            //  Repeating DTM
            rffLoop1.DTM = new List <DTM>();

            //  Order date is 25th of March 2002
            var dtmRff1 = new DTM();

            dtmRff1.DATETIMEPERIOD_01 = new C507();
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020325";
            dtmRff1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoop1.DTM.Add(dtmRff1);

            //  End RFF Group
            result.RFFLoop.Add(rffLoop1);

            //  Repeating NAD Groups
            result.NADLoop = new List <Loop_NAD_ORDRSP>();

            //  Begin NAD Group 1
            var nadLoop1 = new Loop_NAD_ORDRSP();

            //  Buyer is identified using GLN 5412345000013
            nadLoop1.NAD = new NAD();
            nadLoop1.NAD.Partyqualifier_01             = "BY";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345000013";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF NAD Groups
            nadLoop1.RFFLoop = new List <Loop_RFF_ORDRSP>();

            //  Begin RFF NAD Group
            var rffNadLoop1 = new Loop_RFF_ORDRSP();

            //  Buyer’s VAT number is 452282
            rffNadLoop1.RFF = new RFF();
            rffNadLoop1.RFF.REFERENCE_01 = new C506();
            rffNadLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffNadLoop1.RFF.REFERENCE_01.Referencenumber_02    = "452282";

            //  End RFF NAD Group
            nadLoop1.RFFLoop.Add(rffNadLoop1);

            //  End NAD Group 1
            result.NADLoop.Add(nadLoop1);

            //  Begin NAD Group 2
            var nadLoop2 = new Loop_NAD_ORDRSP();

            //  Supplier is identified using GLN 4012345500004
            nadLoop2.NAD = new NAD();
            nadLoop2.NAD.Partyqualifier_01             = "SU";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "4012345500004";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF NAD Groups
            nadLoop2.RFFLoop = new List <Loop_RFF_ORDRSP>();

            //  Begin RFF NAD Group
            var rffNadLoop2 = new Loop_RFF_ORDRSP();

            //  Supplier’s VAT number is 87765432
            rffNadLoop2.RFF = new RFF();
            rffNadLoop2.RFF.REFERENCE_01 = new C506();
            rffNadLoop2.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffNadLoop2.RFF.REFERENCE_01.Referencenumber_02    = "87765432";

            //  End RFF NAD Group
            nadLoop2.RFFLoop.Add(rffNadLoop2);

            //  End NAD Group 2
            result.NADLoop.Add(nadLoop2);

            //  Repeating LIN Groups
            result.LINLoop = new List <Loop_LIN_ORDRSP>();

            //  Begin LIN Group 1
            var linLoop1 = new Loop_LIN_ORDRSP();

            //  First product identified by GTIN 3312345501102 is accepted
            linLoop1.LIN = new LIN();
            linLoop1.LIN.Lineitemnumber_01 = "1";
            linLoop1.LIN.Actionrequestnotificationcoded_02                  = "5";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03                        = new C212();
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "3312345501102";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRV";

            //  End LIN Group 1
            result.LINLoop.Add(linLoop1);

            //  Begin LIN Group 2
            var linLoop2 = new Loop_LIN_ORDRSP();

            //  Second product identified by GTIN 3312345501003 is amended
            linLoop2.LIN = new LIN();
            linLoop2.LIN.Lineitemnumber_01 = "2";
            linLoop2.LIN.Actionrequestnotificationcoded_02                  = "3";
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03                        = new C212();
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "3312345501003";
            linLoop2.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRV";

            //  Repeating PIA
            linLoop2.PIA = new List <PIA>();

            //  Supplier’s article number ABC1234 is provided as an additional identification
            var piaLin1 = new PIA();

            piaLin1.Productidfunctionqualifier_01                      = "1";
            piaLin1.ITEMNUMBERIDENTIFICATION_02                        = new C212();
            piaLin1.ITEMNUMBERIDENTIFICATION_02.Itemnumber_01          = "ABC1234";
            piaLin1.ITEMNUMBERIDENTIFICATION_02.Itemnumbertypecoded_02 = "SA";
            linLoop2.PIA.Add(piaLin1);

            //  Repeating IMD
            linLoop2.IMD = new List <IMD>();

            //  Product is a traded unit
            var imdLin1 = new IMD();

            imdLin1.Itemdescriptiontypecoded_01 = "C";
            imdLin1.ITEMDESCRIPTION_03          = new C273();
            imdLin1.ITEMDESCRIPTION_03.Itemdescriptionidentification_01  = "TU";
            imdLin1.ITEMDESCRIPTION_03.Codelistresponsibleagencycoded_03 = "9";
            linLoop2.IMD.Add(imdLin1);

            //  Repeating QTY
            linLoop2.QTY = new List <QTY>();

            //  Ordered quantity is 48
            var qtyLin1 = new QTY();

            qtyLin1.QUANTITYDETAILS_01 = new C186();
            qtyLin1.QUANTITYDETAILS_01.Quantityqualifier_01 = "21";
            qtyLin1.QUANTITYDETAILS_01.Quantity_02          = "48";
            linLoop2.QTY.Add(qtyLin1);

            //  Repeating DTM
            linLoop2.DTM = new List <DTM>();

            //  Date of order is 10th of September 2002
            var dtmLin1 = new DTM();

            dtmLin1.DATETIMEPERIOD_01 = new C507();
            dtmLin1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "2";
            dtmLin1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020910";
            dtmLin1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            linLoop2.DTM.Add(dtmLin1);

            //  Repeating MOA
            linLoop2.MOA = new List <MOA>();

            //  Value of ordered line is 26400
            var moaLin1 = new MOA();

            moaLin1.MONETARYAMOUNT_01 = new C516();
            moaLin1.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "203";
            moaLin1.MONETARYAMOUNT_01.Monetaryamount_02 = "26400";
            linLoop2.MOA.Add(moaLin1);

            //  Repeating PRI Groups
            linLoop2.PRILoop = new List <Loop_PRI_ORDRSP>();

            //  Begin PRI LIN Group
            var priLin1 = new Loop_PRI_ORDRSP();

            //  Net calculation price is 550
            priLin1.PRI = new PRI();
            priLin1.PRI.PRICEINFORMATION_01 = new C509();
            priLin1.PRI.PRICEINFORMATION_01.Pricequalifier_01     = "AAA";
            priLin1.PRI.PRICEINFORMATION_01.Price_02              = "550";
            priLin1.PRI.PRICEINFORMATION_01.Pricetypecoded_03     = "CT";
            priLin1.PRI.PRICEINFORMATION_01.Pricetypequalifier_04 = "AAA";

            //  End PRI LIN Group
            linLoop2.PRILoop.Add(priLin1);

            //  Repeating PAC Groups
            linLoop2.PACLoop = new List <Loop_PAC_ORDRSP_2>();

            //  Begin PAC LIN Group
            var pacLin1 = new Loop_PAC_ORDRSP_2();

            //  Product is packaged in a case
            pacLin1.PAC = new PAC();
            pacLin1.PAC.Numberofpackages_01 = "4";
            pacLin1.PAC.PACKAGINGDETAILS_02 = new C531();
            pacLin1.PAC.PACKAGINGDETAILS_02.Packaginglevelcoded_01 = "1";
            pacLin1.PAC.PACKAGETYPE_03 = new C202();
            pacLin1.PAC.PACKAGETYPE_03.Typeofpackagesidentification_01 = "CS";

            //  End PAC LIN Group
            linLoop2.PACLoop.Add(pacLin1);

            //  Repeating TAX Groups
            linLoop2.TAXLoop = new List <Loop_TAX_ORDRSP>();

            //  Begin TAX LIN Group
            var taxLin1 = new Loop_TAX_ORDRSP();

            //  Product is subject to standard VAT rate of 17.5 %
            taxLin1.TAX = new TAX();
            taxLin1.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLin1.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLin1.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLin1.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLin1.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "17.5";
            taxLin1.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  Tax amount for product is 4620
            taxLin1.MOA = new MOA();
            taxLin1.MOA.MONETARYAMOUNT_01 = new C516();
            taxLin1.MOA.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "124";
            taxLin1.MOA.MONETARYAMOUNT_01.Monetaryamount_02 = "4620";

            //  End TAX LIN Group
            linLoop2.TAXLoop.Add(taxLin1);

            //  Repeating TDT Groups
            linLoop2.TDTLoop = new List <Loop_TDT_ORDRSP>();

            //  Begin TDT LIN Group
            var tdtLin1 = new Loop_TDT_ORDRSP();

            //  Main carriage transport for the product is a truck
            tdtLin1.TDT = new TDT();
            tdtLin1.TDT.Transportstagequalifier_01 = "20";
            tdtLin1.TDT.MODEOFTRANSPORT_03         = new C220();
            tdtLin1.TDT.MODEOFTRANSPORT_03.Modeoftransportcoded_01 = "30";
            tdtLin1.TDT.CARRIER_05 = new C040();
            tdtLin1.TDT.CARRIER_05.Carrieridentification_01 = "31";

            //  End TDT LIN Group
            linLoop2.TDTLoop.Add(tdtLin1);

            //  End LIN Group 2
            result.LINLoop.Add(linLoop2);

            //  Begin LIN Group 3
            var linLoop3 = new Loop_LIN_ORDRSP();

            //  Third product identified by GTIN 3312345501096 is not accepted
            linLoop3.LIN = new LIN();
            linLoop3.LIN.Lineitemnumber_01 = "3";
            linLoop3.LIN.Actionrequestnotificationcoded_02                  = "7";
            linLoop3.LIN.ITEMNUMBERIDENTIFICATION_03                        = new C212();
            linLoop3.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "3312345501096";
            linLoop3.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRV";

            //  End LIN Group 3
            result.LINLoop.Add(linLoop3);

            //  Message detail/summary separator
            result.UNS = new UNS();
            result.UNS.Sectionidentification_01 = "S";

            //  Repeating CNT
            result.CNT = new List <CNT>();

            //  Count of the number of LIN segments in the message
            var cnt = new CNT();

            cnt.CONTROL_01 = new C270();
            cnt.CONTROL_01.Controlqualifier_01 = "2";
            cnt.CONTROL_01.Controlvalue_02     = "3";
            result.CNT.Add(cnt);

            return(result);
        }
Exemple #29
0
        /// <summary>
        /// Build purchase order.
        /// Original from https://www.gs1.org/standards/edi-xml-gs1-eancom/eancom-orders-s4/syntax-4
        /// </summary>
        public static TSORDERS BuildPurchaseOrder(string controlNumber)
        {
            var result = new TSORDERS();

            //  Message header
            result.UNH = new UNH();
            result.UNH.MessageReferenceNumber_01                      = controlNumber.PadLeft(14, '0');
            result.UNH.MessageIdentifier_02                           = new S009();
            result.UNH.MessageIdentifier_02.MessageType_01            = "ORDERS";
            result.UNH.MessageIdentifier_02.MessageVersionNumber_02   = "D";
            result.UNH.MessageIdentifier_02.MessageReleaseNumber_03   = "96A";
            result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN";

            //  Order number 128576
            result.BGM = new BGM();
            result.BGM.DOCUMENTMESSAGENAME_01 = new C002();
            result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "220";
            result.BGM.Documentmessagenumber_02 = "128576";
            result.BGM.Messagefunctioncoded_03  = "9";

            //  Repeating DTM
            result.DTM = new List <DTM>();

            //  Message date 30th of August 2002
            var dtm = new DTM();

            dtm.DATETIMEPERIOD_01 = new C507();
            dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "137";
            dtm.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020830";
            dtm.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            result.DTM.Add(dtm);

            //  Instruction to pay in Bank Account
            result.PAI = new PAI();
            result.PAI.PAYMENTINSTRUCTIONDETAILS_01 = new C534();
            result.PAI.PAYMENTINSTRUCTIONDETAILS_01.Paymentmeanscoded_03 = "42";

            //  Repeating FTX
            result.FTX = new List <FTX>();

            //  Free text mutually defined
            var ftx = new FTX();

            ftx.Textsubjectqualifier_01           = "ZZZ";
            ftx.Textfunctioncoded_02              = "1";
            ftx.TEXTREFERENCE_03                  = new C107();
            ftx.TEXTREFERENCE_03.Freetextcoded_01 = "001";
            ftx.TEXTREFERENCE_03.Codelistresponsibleagencycoded_03 = "91";
            result.FTX.Add(ftx);

            //  Repeating RFF Groups
            result.RFFLoop = new List <Loop_RFF_ORDERS>();

            //  Begin RFF Group
            var rffLoop = new Loop_RFF_ORDERS();

            //  Order is based on contract number 652744
            rffLoop.RFF = new RFF();
            rffLoop.RFF.REFERENCE_01 = new C506();
            rffLoop.RFF.REFERENCE_01.Referencequalifier_01 = "CT";
            rffLoop.RFF.REFERENCE_01.Referencenumber_02    = "652744";

            //  Repeating DTM
            rffLoop.DTM = new List <DTM>();

            //  Date of contract 25th of August 2002
            var rffDtm1 = new DTM();

            rffDtm1.DATETIMEPERIOD_01 = new C507();
            rffDtm1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            rffDtm1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020825";
            rffDtm1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoop.DTM.Add(rffDtm1);

            //  End RFF Group
            result.RFFLoop.Add(rffLoop);

            //  Repeating NAD Groups
            result.NADLoop = new List <Loop_NAD_ORDERS>();

            //  Begin NAD Group 1
            var nadLoop1 = new Loop_NAD_ORDERS();

            //  Buyer is identified by GLN 5412345000013
            nadLoop1.NAD = new NAD();
            nadLoop1.NAD.Partyqualifier_01             = "BY";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345000013";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF Groups
            nadLoop1.RFFLoop = new List <Loop_RFF_ORDERS>();

            //  Begin RFF Group
            var rffLoopNad = new Loop_RFF_ORDERS();

            //  Buyer’s VAT number is 87765432
            rffLoopNad.RFF = new RFF();
            rffLoopNad.RFF.REFERENCE_01 = new C506();
            rffLoopNad.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffLoopNad.RFF.REFERENCE_01.Referencenumber_02    = "87765432";

            //  End RFF Group
            nadLoop1.RFFLoop.Add(rffLoopNad);

            //  Repeating CTA Groups
            nadLoop1.CTALoop = new List <Loop_CTA_ORDERS>();

            //  Begin CTA Group
            var ctaLoop = new Loop_CTA_ORDERS();

            //  Order contact is PForget
            ctaLoop.CTA = new CTA();
            ctaLoop.CTA.Contactfunctioncoded_01        = "OC";
            ctaLoop.CTA.DEPARTMENTOREMPLOYEEDETAILS_02 = new C056();
            ctaLoop.CTA.DEPARTMENTOREMPLOYEEDETAILS_02.Departmentoremployee_02 = "P FORGET";

            //  Repeating COM
            ctaLoop.COM = new List <COM>();

            //  Telephone number of order contact
            var com = new COM();

            com.COMMUNICATIONCONTACT_01 = new C076();
            com.COMMUNICATIONCONTACT_01.Communicationnumber_01           = "0044715632478";
            com.COMMUNICATIONCONTACT_01.Communicationchannelqualifier_02 = "TE";
            ctaLoop.COM.Add(com);

            //  End CTA Group
            nadLoop1.CTALoop.Add(ctaLoop);

            //  End NAD Group 1
            result.NADLoop.Add(nadLoop1);

            //  Begin NAD Group 2
            var nadLoop2 = new Loop_NAD_ORDERS();

            //  Supplier is identified by GLN 4012345500004
            nadLoop2.NAD = new NAD();
            nadLoop2.NAD.Partyqualifier_01             = "SU";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "4012345500004";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating RFF Groups
            nadLoop2.RFFLoop = new List <Loop_RFF_ORDERS>();

            //  Begin RFF Group
            var rffLoopNad2 = new Loop_RFF_ORDERS();

            //  Supplier’s VAT number is 56225432
            rffLoopNad2.RFF = new RFF();
            rffLoopNad2.RFF.REFERENCE_01 = new C506();
            rffLoopNad2.RFF.REFERENCE_01.Referencequalifier_01 = "VA";
            rffLoopNad2.RFF.REFERENCE_01.Referencenumber_02    = "56225432";

            //  End RFF Group
            nadLoop2.RFFLoop.Add(rffLoopNad2);

            //  End NAD Group 2
            result.NADLoop.Add(nadLoop2);

            //  Repeating CUX Groups
            result.CUXLoop = new List <Loop_CUX_ORDERS>();

            //  Begin CUX Group
            var cuxLoop = new Loop_CUX_ORDERS();

            //  Ordering currency is Pounds Sterling with the invoicing currency identified as Euros
            //  The exchange rate between them is 1 Pound Sterling equals 1.67 Euros
            cuxLoop.CUX = new CUX();
            cuxLoop.CUX.CURRENCYDETAILS_01 = new C504();
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencydetailsqualifier_01 = "2";
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencycoded_02            = "GBP";
            cuxLoop.CUX.CURRENCYDETAILS_01.Currencyqualifier_03        = "9";
            cuxLoop.CUX.CURRENCYDETAILS_02 = new C504();
            cuxLoop.CUX.CURRENCYDETAILS_02.Currencydetailsqualifier_01 = "3";
            cuxLoop.CUX.CURRENCYDETAILS_02.Currencycoded_02            = "EUR";
            cuxLoop.CUX.CURRENCYDETAILS_02.Currencyqualifier_03        = "4";
            cuxLoop.CUX.Rateofexchange_03 = "1.67";

            //  Repeating DTM
            cuxLoop.DTM = new List <DTM>();

            //  Period on which rate of exchange date is based is the
            //  1st of August 2002 - 31st of August 2002
            var dtmCux = new DTM();

            dtmCux.DATETIMEPERIOD_01 = new C507();
            dtmCux.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "134";
            dtmCux.DATETIMEPERIOD_01.Datetimeperiod_02                = "2002080120020831";
            dtmCux.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "718";
            cuxLoop.DTM.Add(dtmCux);

            //  End CUX Group
            result.CUXLoop.Add(cuxLoop);

            //  Repeating TDT Groups
            result.TDTLoop = new List <Loop_TDT_ORDERS>();

            //  Begin TDT Group
            var tdtLoop = new Loop_TDT_ORDERS();

            //  Order requests that the main carriage transport used to deliver the goods is a truck
            tdtLoop.TDT = new TDT();
            tdtLoop.TDT.Transportstagequalifier_01 = "20";
            tdtLoop.TDT.MODEOFTRANSPORT_03         = new C220();
            tdtLoop.TDT.MODEOFTRANSPORT_03.Modeoftransportcoded_01 = "30";
            tdtLoop.TDT.TRANSPORTMEANS_04 = new C228();
            tdtLoop.TDT.TRANSPORTMEANS_04.Typeofmeansoftransportidentification_01 = "31";

            //  End TDT Group
            result.TDTLoop.Add(tdtLoop);

            //  Repeating TOD Groups
            result.TODLoop = new List <Loop_TOD_ORDERS>();

            //  Begin TOD Group
            var todLoop = new Loop_TOD_ORDERS();

            //  Terms of delivery are to be Cost, Insurance and Freight
            todLoop.TOD = new TOD();
            todLoop.TOD.Termsofdeliveryortransportfunctioncoded_01 = "3";
            todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03 = new C100();
            todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Termsofdeliveryortransportcoded_01 = "CIF";
            todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Codelistqualifier_02 = "23";
            todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Codelistresponsibleagencycoded_03 = "9";

            //  Repeating LOC Group
            todLoop.LOC = new List <LOC>();

            //  The named port is Brussels
            var loc = new LOC();

            loc.Placelocationqualifier_01 = "1";
            loc.LOCATIONIDENTIFICATION_02 = new C517();
            loc.LOCATIONIDENTIFICATION_02.Placelocationidentification_01 = "BE-BRU";
            todLoop.LOC.Add(loc);

            //  End TOD Group
            result.TODLoop.Add(todLoop);

            //  Repeating LIN Groups
            result.LINLoop = new List <Loop_LIN_ORDERS>();

            //  Begin LIN Group 1
            var linLoop1 = new Loop_LIN_ORDERS();

            //  First product order is identified by GTIN 4000862141404
            linLoop1.LIN = new LIN();
            linLoop1.LIN.Lineitemnumber_01           = "1";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03 = new C212();
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01          = "4000862141404";
            linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRS";

            //  Repeating PIA
            linLoop1.PIA = new List <PIA>();

            //  In addition the buyer’s part number ABC1234 is provided
            var pia = new PIA();

            pia.Productidfunctionqualifier_01                      = "1";
            pia.ITEMNUMBERIDENTIFICATION_02                        = new C212();
            pia.ITEMNUMBERIDENTIFICATION_02.Itemnumber_01          = "ABC1234";
            pia.ITEMNUMBERIDENTIFICATION_02.Itemnumbertypecoded_02 = "IN";
            linLoop1.PIA.Add(pia);

            //  Repeating IMD
            linLoop1.IMD = new List <IMD>();

            //  The ordered item is a traded unit
            var imd = new IMD();

            imd.Itemdescriptiontypecoded_01 = "C";
            imd.ITEMDESCRIPTION_03          = new C273();
            imd.ITEMDESCRIPTION_03.Itemdescriptionidentification_01  = "TU";
            imd.ITEMDESCRIPTION_03.Codelistresponsibleagencycoded_03 = "9";
            linLoop1.IMD.Add(imd);

            //  Repeating QTY
            linLoop1.QTY = new List <QTY>();

            //  Ordered quantity is 48 units
            var qty = new QTY();

            qty.QUANTITYDETAILS_01 = new C186();
            qty.QUANTITYDETAILS_01.Quantityqualifier_01 = "21";
            qty.QUANTITYDETAILS_01.Quantity_02          = "48";
            linLoop1.QTY.Add(qty);

            //  Repeating MOA
            linLoop1.MOA = new List <MOA>();

            //  Value of order line is 699.84 Pounds Sterling
            var moa = new MOA();

            moa.MONETARYAMOUNT_01 = new C516();
            moa.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "203";
            moa.MONETARYAMOUNT_01.Monetaryamount_02 = "699.84";
            linLoop1.MOA.Add(moa);

            //  Repeating PRI Groups
            linLoop1.PRILoop = new List <Loop_PRI_ORDERS>();

            //  Begin PRI Group
            var priLoop = new Loop_PRI_ORDERS();

            //  Fixed net calculation price is 14.58 Pounds Sterling
            priLoop.PRI = new PRI();
            priLoop.PRI.PRICEINFORMATION_01 = new C509();
            priLoop.PRI.PRICEINFORMATION_01.Pricequalifier_01       = "AAA";
            priLoop.PRI.PRICEINFORMATION_01.Price_02                = "14.58";
            priLoop.PRI.PRICEINFORMATION_01.Pricetypecoded_03       = "CT";
            priLoop.PRI.PRICEINFORMATION_01.Pricetypequalifier_04   = "AAE";
            priLoop.PRI.PRICEINFORMATION_01.Unitpricebasis_05       = "1";
            priLoop.PRI.PRICEINFORMATION_01.Measureunitqualifier_06 = "KGM";

            //  End PRI Group
            linLoop1.PRILoop.Add(priLoop);

            //  Repeating RFF Groups
            linLoop1.RFFLoop = new List <Loop_RFF_ORDERS>();

            //  Begin RFF Group
            var rffLoopLin = new Loop_RFF_ORDERS();

            //  Price is taken from the price list AUG93RNG04
            rffLoopLin.RFF = new RFF();
            rffLoopLin.RFF.REFERENCE_01 = new C506();
            rffLoopLin.RFF.REFERENCE_01.Referencequalifier_01 = "PL";
            rffLoopLin.RFF.REFERENCE_01.Referencenumber_02    = "AUG93RNG04";

            //  Repeating DTM
            rffLoopLin.DTM = new List <DTM>();

            //  Price list date 1st of August 2002
            var dtmRff = new DTM();

            dtmRff.DATETIMEPERIOD_01 = new C507();
            dtmRff.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "171";
            dtmRff.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020801";
            dtmRff.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            rffLoopLin.DTM.Add(dtmRff);

            //  End RFF Group
            linLoop1.RFFLoop.Add(rffLoopLin);

            //  Repeating PAC Groups
            linLoop1.PACLoop = new List <Loop_PAC_ORDERS_2>();

            //  Begin PAC Group
            var pacLoop = new Loop_PAC_ORDERS_2();

            //  Two packages (cases) barcoded with ITF14
            pacLoop.PAC = new PAC();
            pacLoop.PAC.Numberofpackages_01 = "2";
            pacLoop.PAC.PACKAGINGDETAILS_02 = new C531();
            pacLoop.PAC.PACKAGINGDETAILS_02.Packagingrelatedinformationcoded_02 = "51";
            pacLoop.PAC.PACKAGETYPE_03 = new C202();
            pacLoop.PAC.PACKAGETYPE_03.Typeofpackagesidentification_01 = "CS";

            //  Repeating PCI Groups
            pacLoop.PCILoop = new List <Loop_PCI_ORDERS>();

            //  Begin PCI Group
            var pciLoop = new Loop_PCI_ORDERS();

            //  The expiry date of the product is to be marked on it's packaging
            pciLoop.PCI = new PCI();
            pciLoop.PCI.Markinginstructionscoded_01 = "14";

            //  End PCI Group
            pacLoop.PCILoop.Add(pciLoop);

            //  End PAC Group
            linLoop1.PACLoop.Add(pacLoop);

            //  Repeating LOC Groups
            linLoop1.LOCLoop = new List <Loop_LOC_ORDERS_2>();

            //  Begin LOC Group 1
            var locLoop1 = new Loop_LOC_ORDERS_2();

            //  The second place to which the product is to be delivered is identified by GLN 3312345502000
            locLoop1.LOC = new LOC();
            locLoop1.LOC.Placelocationqualifier_01 = "7";
            locLoop1.LOC.LOCATIONIDENTIFICATION_02 = new C517();
            locLoop1.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01    = "3312345502000";
            locLoop1.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9";

            //  The quantity to be delivered at this location is 24
            locLoop1.QTY = new QTY();
            locLoop1.QTY.QUANTITYDETAILS_01 = new C186();
            locLoop1.QTY.QUANTITYDETAILS_01.Quantityqualifier_01 = "11";
            locLoop1.QTY.QUANTITYDETAILS_01.Quantity_02          = "24";

            //  Repeating DTM
            locLoop1.DTM = new List <DTM>();

            //  The quantity should be delivered on the 15th of September 2002
            var dtmLoc = new DTM();

            dtmLoc.DATETIMEPERIOD_01 = new C507();
            dtmLoc.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "2";
            dtmLoc.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020915";
            dtmLoc.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            locLoop1.DTM.Add(dtmLoc);

            //  End LOC Group 1
            linLoop1.LOCLoop.Add(locLoop1);

            //  Begin LOC Group 2
            var locLoop2 = new Loop_LOC_ORDERS_2();

            //  The first place to which the product is to be delivered is identified by GLN 3312345501003
            locLoop2.LOC = new LOC();
            locLoop2.LOC.Placelocationqualifier_01 = "7";
            locLoop2.LOC.LOCATIONIDENTIFICATION_02 = new C517();
            locLoop2.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01    = "3312345501003";
            locLoop2.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9";

            //  The quantity to be delivered at this location is 24
            locLoop2.QTY = new QTY();
            locLoop2.QTY.QUANTITYDETAILS_01 = new C186();
            locLoop2.QTY.QUANTITYDETAILS_01.Quantityqualifier_01 = "11";
            locLoop2.QTY.QUANTITYDETAILS_01.Quantity_02          = "24";

            //  Repeating DTM
            locLoop2.DTM = new List <DTM>();

            //  The quantity should be delivered on the 13th of September 2002
            var dtmLoc2 = new DTM();

            dtmLoc2.DATETIMEPERIOD_01 = new C507();
            dtmLoc2.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "2";
            dtmLoc2.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020913";
            dtmLoc2.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            locLoop2.DTM.Add(dtmLoc2);

            //  End LOC Group 2
            linLoop1.LOCLoop.Add(locLoop2);

            //  Repeating TAX Groups
            linLoop1.TAXLoop = new List <Loop_TAX_ORDERS>();

            //  Begin TAX Group
            var taxLoop = new Loop_TAX_ORDERS();

            //  The product is subject to the standard VAT rate of 17.5%
            taxLoop.TAX = new TAX();
            taxLoop.TAX.Dutytaxfeefunctionqualifier_01 = "7";
            taxLoop.TAX.DUTYTAXFEETYPE_02 = new C241();
            taxLoop.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT";
            taxLoop.TAX.DUTYTAXFEEDETAIL_05 = new C243();
            taxLoop.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "17.5";
            taxLoop.TAX.Dutytaxfeecategorycoded_06            = "S";

            //  End TAX Group
            linLoop1.TAXLoop.Add(taxLoop);

            //  End LIN Group 1
            result.LINLoop.Add(linLoop1);

            //  Message detail/summary separator
            result.UNS = new UNS();
            result.UNS.Sectionidentification_01 = "S";

            //  Repeating CNT
            result.CNT = new List <CNT>();

            //  Count of the number of LIN segments in the message
            var cnt = new CNT();

            cnt.CONTROL_01 = new C270();
            cnt.CONTROL_01.Controlqualifier_01 = "2";
            cnt.CONTROL_01.Controlvalue_02     = "1";
            result.CNT.Add(cnt);

            return(result);
        }
Exemple #30
0
        /// <summary>
        /// Build instruction.
        /// Original from https://www.gs1.org/sites/default/files/docs/eancom/s4/iftmin.pdf
        /// </summary>
        static TSIFTMIN BuildInstruction(string controlNumber)
        {
            var result = new TSIFTMIN();

            //  Message header
            result.UNH = new UNH();
            result.UNH.MessageReferenceNumber_01                      = controlNumber.PadLeft(14, '0');
            result.UNH.MessageIdentifier_02                           = new S009();
            result.UNH.MessageIdentifier_02.MessageType_01            = "IFTMIN";
            result.UNH.MessageIdentifier_02.MessageVersionNumber_02   = "D";
            result.UNH.MessageIdentifier_02.MessageReleaseNumber_03   = "96A";
            result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN";

            //  Transport instruction number
            result.BGM = new BGM();
            result.BGM.DOCUMENTMESSAGENAME_01 = new C002();
            result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "610";
            result.BGM.Documentmessagenumber_02 = "569952";
            result.BGM.Messagefunctioncoded_03  = "9";

            //  Repeating DTM
            result.DTM = new List <DTM>();

            //  Message date/time 1st March 2002
            var dtm1 = new DTM();

            dtm1.DATETIMEPERIOD_01 = new C507();
            dtm1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "137";
            dtm1.DATETIMEPERIOD_01.Datetimeperiod_02                = "20020301";
            dtm1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
            result.DTM.Add(dtm1);

            //  Delivery date/time requested, 8th March 2002 at 11:00
            var dtm2 = new DTM();

            dtm2.DATETIMEPERIOD_01 = new C507();
            dtm2.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "2";
            dtm2.DATETIMEPERIOD_01.Datetimeperiod_02                = "200203081100";
            dtm2.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "203";
            result.DTM.Add(dtm2);

            //  Repeating CNT
            result.CNT = new List <CNT>();

            //  Total number of packages 1
            var cnt = new CNT();

            cnt.CONTROL_01 = new C270();
            cnt.CONTROL_01.Controlqualifier_01 = "11";
            cnt.CONTROL_01.Controlvalue_02     = "1";
            result.CNT.Add(cnt);

            //  Repeating RFF Groups
            result.RFFLoop = new List <Loop_RFF_IFTMIN>();

            //  Begin RFF Group
            var rffLoop1 = new Loop_RFF_IFTMIN();

            //  Consignor’s reference number TI1284
            rffLoop1.RFF = new RFF();
            rffLoop1.RFF.REFERENCE_01 = new C506();
            rffLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "CU";
            rffLoop1.RFF.REFERENCE_01.Referencenumber_02    = "TI1284";

            //  End RFF Group
            result.RFFLoop.Add(rffLoop1);

            //  Repeating TDT Groups
            result.TDTLoop = new List <Loop_TDT_IFTMIN>();

            //  Begin TDT Group
            var tdtLoop1 = new Loop_TDT_IFTMIN();

            //  Details of transport, by truck
            tdtLoop1.TDT = new TDT();
            tdtLoop1.TDT.Transportstagequalifier_01 = "20";
            tdtLoop1.TDT.MODEOFTRANSPORT_03         = new C220();
            tdtLoop1.TDT.MODEOFTRANSPORT_03.Modeoftransportcoded_01 = "30";
            tdtLoop1.TDT.TRANSPORTMEANS_04 = new C228();
            tdtLoop1.TDT.TRANSPORTMEANS_04.Typeofmeansoftransportidentification_01 = "31";

            //  Repeating DTM
            tdtLoop1.DTM = new List <DTM>();

            //  Estimated departure of truck 5th March 2002 at 11am
            var dtmTdt1 = new DTM();

            dtmTdt1.DATETIMEPERIOD_01 = new C507();
            dtmTdt1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01       = "133";
            dtmTdt1.DATETIMEPERIOD_01.Datetimeperiod_02                = "200203051100";
            dtmTdt1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "203";
            tdtLoop1.DTM.Add(dtmTdt1);

            //  Repeating LOC Groups
            tdtLoop1.LOCLoop = new List <Loop_LOC_IFTMIN_2>();

            //  Begin LOC Group
            var locTdt1 = new Loop_LOC_IFTMIN_2();

            //  Place of truck loading identified with GLN 5412345678908
            locTdt1.LOC = new LOC();
            locTdt1.LOC.Placelocationqualifier_01 = "9";
            locTdt1.LOC.LOCATIONIDENTIFICATION_02 = new C517();
            locTdt1.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01    = "5412345678908";
            locTdt1.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9";

            //  End LOC Group
            tdtLoop1.LOCLoop.Add(locTdt1);

            //  End TDT Group
            result.TDTLoop.Add(tdtLoop1);

            //  Repeating NAD Groups
            result.NADLoop = new List <Loop_NAD_IFTMIN>();

            //  Begin NAD Group 1
            var nadLoop1 = new Loop_NAD_IFTMIN();

            //  Consignor identified with GLN 5412345123453
            nadLoop1.NAD = new NAD();
            nadLoop1.NAD.Partyqualifier_01             = "CZ";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345123453";
            nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  End NAD Group 1
            result.NADLoop.Add(nadLoop1);

            //  Begin NAD Group 2
            var nadLoop2 = new Loop_NAD_IFTMIN();

            //  Carrier identified with GLN 5411234512309
            nadLoop2.NAD = new NAD();
            nadLoop2.NAD.Partyqualifier_01             = "CA";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5411234512309";
            nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  End NAD Group 2
            result.NADLoop.Add(nadLoop2);

            //  Begin NAD Group 3
            var nadLoop3 = new Loop_NAD_IFTMIN();

            //  Consignee identified with GLN 5411234444402
            nadLoop3.NAD = new NAD();
            nadLoop3.NAD.Partyqualifier_01             = "CN";
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5411234444402";
            nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  End NAD Group 3
            result.NADLoop.Add(nadLoop3);

            //  Begin NAD Group 4
            var nadLoop4 = new Loop_NAD_IFTMIN();

            //  Delivery party identified with GLN 5412345145660
            nadLoop4.NAD = new NAD();
            nadLoop4.NAD.Partyqualifier_01             = "DP";
            nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
            nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01          = "5412345145660";
            nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";

            //  End NAD Group 4
            result.NADLoop.Add(nadLoop4);

            //  Repeating GID Groups
            result.GIDLoop = new List <Loop_GID_IFTMIN>();

            //  Begin GID Group
            var gidLoop1 = new Loop_GID_IFTMIN();

            //  First occurrence of goods in one returnable pallet with 14 packages
            gidLoop1.GID = new GID();
            gidLoop1.GID.Goodsitemnumber_01         = "1";
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02 = new C213();
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Numberofpackages_01               = "1";
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Typeofpackagesidentification_02   = "09";
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Codelistresponsibleagencycoded_04 = "9";
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03 = new C213();
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03.Numberofpackages_01             = "14";
            gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03.Typeofpackagesidentification_02 = "PK";

            //  The goods are foods stuffs
            gidLoop1.HAN = new HAN();
            gidLoop1.HAN.HANDLINGINSTRUCTIONS_01 = new C524();
            gidLoop1.HAN.HANDLINGINSTRUCTIONS_01.Handlinginstructionscoded_01      = "EAT";
            gidLoop1.HAN.HANDLINGINSTRUCTIONS_01.Codelistresponsibleagencycoded_03 = "9";

            //  Transport temperature 0 degrees Celsius
            gidLoop1.TMP = new TMP();
            gidLoop1.TMP.Temperaturequalifier_01 = "2";
            gidLoop1.TMP.TEMPERATURESETTING_02   = new C239();
            gidLoop1.TMP.TEMPERATURESETTING_02.Temperaturesetting_01   = "000";
            gidLoop1.TMP.TEMPERATURESETTING_02.Measureunitqualifier_02 = "CEL";

            //  The range of temperature must be between –5 and 5 degrees Celsius
            gidLoop1.RNG = new RNG();
            gidLoop1.RNG.Rangetypequalifier_01 = "5";
            gidLoop1.RNG.RANGE_02 = new C280();
            gidLoop1.RNG.RANGE_02.Measureunitqualifier_01 = "CEL";
            gidLoop1.RNG.RANGE_02.Rangeminimum_02         = "-5";
            gidLoop1.RNG.RANGE_02.Rangemaximum_03         = "5";

            //  Repeating MOA
            gidLoop1.MOA = new List <MOA>();

            //  Declared valued of the carriage 45.000 EUR
            var moaGid1 = new MOA();

            moaGid1.MONETARYAMOUNT_01 = new C516();
            moaGid1.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "44";
            moaGid1.MONETARYAMOUNT_01.Monetaryamount_02 = "45000";
            moaGid1.MONETARYAMOUNT_01.Currencycoded_03  = "EUR";
            gidLoop1.MOA.Add(moaGid1);

            //  Repeating PIA
            gidLoop1.PIA = new List <PIA>();

            //  Product identification of the goods using GTIN 5410738377117
            var piaGid1 = new PIA();

            piaGid1.Productidfunctionqualifier_01                      = "5";
            piaGid1.ITEMNUMBERIDENTIFICATION_02                        = new C212();
            piaGid1.ITEMNUMBERIDENTIFICATION_02.Itemnumber_01          = "5410738377117";
            piaGid1.ITEMNUMBERIDENTIFICATION_02.Itemnumbertypecoded_02 = "SRV";
            gidLoop1.PIA.Add(piaGid1);

            //  Repeating MEA Groups
            gidLoop1.MEALoop = new List <Loop_MEA_IFTMIN>();

            //  Begin MEA GID Group
            var meaGid1 = new Loop_MEA_IFTMIN();

            //  Gross weight of returnable pallet plus 14 packages on the pallet is 250 Kilograms
            meaGid1.MEA = new MEA();
            meaGid1.MEA.Measurementapplicationqualifier_01 = "AAE";
            meaGid1.MEA.MEASUREMENTDETAILS_02 = new C502();
            meaGid1.MEA.MEASUREMENTDETAILS_02.Measurementdimensioncoded_01 = "X7E";
            meaGid1.MEA.VALUERANGE_03 = new C174();
            meaGid1.MEA.VALUERANGE_03.Measureunitqualifier_01 = "KGM";
            meaGid1.MEA.VALUERANGE_03.Measurementvalue_02     = "250";

            //  End MEA GID Group
            gidLoop1.MEALoop.Add(meaGid1);

            //  Repeating PCI Groups
            gidLoop1.PCILoop = new List <Loop_PCI_IFTMIN>();

            //  Begin PCI GID Group
            var pciGid1 = new Loop_PCI_IFTMIN();

            //  Marked with the EAN.UCC serial shipping container code
            pciGid1.PCI = new PCI();
            pciGid1.PCI.Markinginstructionscoded_01 = "33E";

            //  Repeating GIN
            pciGid1.GIN = new List <GIN>();

            //  Identification of marked serial shipping container code
            var ginPci1 = new GIN();

            ginPci1.Identitynumberqualifier_01 = "BJ";
            ginPci1.IDENTITYNUMBERRANGE_02     = new C208();
            ginPci1.IDENTITYNUMBERRANGE_02.Identitynumber_01 = "354123450000000014";
            pciGid1.GIN.Add(ginPci1);

            //  End PCI GID Group
            gidLoop1.PCILoop.Add(pciGid1);

            //  End GID Group
            result.GIDLoop.Add(gidLoop1);

            return(result);
        }