Example #1
0
        private void fillData()
        {
            //Для разбора дат и сумм.
            var culture = CultureInfo.CreateSpecificCulture("ru-RU");

            culture.NumberFormat.NumberDecimalSeparator = ".";

            TransferDocuments = new List <TransferDocument> ();
            foreach (var document in documents)
            {
                if (document["СекцияДокумент"] == "Мемориальный ордер")
                {
                    logger.Info("Пропущена секция \"Мемориальный ордер\"...");
                    continue;
                }
                TransferDocument doc = new TransferDocument();
                doc.DocumentType = TransferDocument.GetDocTypeFromString(document ["СекцияДокумент"]);
                doc.Number       = document ["Номер"];
                doc.Date         = DateTime.Parse(document ["Дата"], culture);
                doc.Total        = Decimal.Parse(document ["Сумма"], culture.NumberFormat);
                doc.PayerAccount = document ["ПлательщикСчет"];
                if (document.ContainsKey("ДатаСписано") && !String.IsNullOrWhiteSpace(document ["ДатаСписано"]))
                {
                    doc.WriteoffDate = DateTime.Parse(document ["ДатаСписано"], culture);
                }
                if (document.ContainsKey("Плательщик"))
                {
                    doc.PayerName = document ["Плательщик"];
                }
                else
                {
                    doc.PayerName = document ["Плательщик1"];
                }
                if (doc.PayerName.Contains("р/с") && !String.IsNullOrWhiteSpace(doc.PayerName.Substring(0, doc.PayerName.IndexOf("р/с"))))
                {
                    doc.PayerName = doc.PayerName.Substring(0, doc.PayerName.IndexOf("р/с"));
                }
                if (doc.PayerName.Contains("//") && !String.IsNullOrWhiteSpace(doc.PayerName.Substring(0, doc.PayerName.IndexOf("//"))))
                {
                    doc.PayerName = doc.PayerName.Substring(0, doc.PayerName.IndexOf("//"));
                }

                doc.PayerInn                  = document ["ПлательщикИНН"];
                doc.PayerKpp                  = document ["ПлательщикКПП"];
                doc.PayerCheckingAccount      = document ["ПлательщикРасчСчет"];
                doc.PayerBank                 = document ["ПлательщикБанк1"];
                doc.PayerBik                  = document ["ПлательщикБИК"];
                doc.PayerCorrespondentAccount = document ["ПлательщикКорсчет"];
                doc.RecipientAccount          = document ["ПолучательСчет"];
                if (document.ContainsKey("ДатаПоступило") && !String.IsNullOrWhiteSpace(document ["ДатаПоступило"]))
                {
                    doc.ReceiptDate = DateTime.Parse(document ["ДатаПоступило"], culture);
                }
                if (document.ContainsKey("Получатель"))
                {
                    doc.RecipientName = document ["Получатель"];
                }
                else
                {
                    doc.RecipientName = document ["Получатель1"];
                }
                if (doc.RecipientName.Contains("р/с") && !String.IsNullOrWhiteSpace(doc.RecipientName.Substring(0, doc.RecipientName.IndexOf("р/с"))))
                {
                    doc.RecipientName = doc.RecipientName.Substring(0, doc.RecipientName.IndexOf("р/с"));
                }
                if (doc.RecipientName.Contains("//") && !String.IsNullOrWhiteSpace(doc.RecipientName.Substring(0, doc.RecipientName.IndexOf("//"))))
                {
                    doc.RecipientName = doc.RecipientName.Substring(0, doc.RecipientName.IndexOf("//"));
                }
                doc.RecipientInn                  = document ["ПолучательИНН"];
                doc.RecipientKpp                  = document ["ПолучательКПП"];
                doc.RecipientCheckingAccount      = document ["ПолучательРасчСчет"];
                doc.RecipientBank                 = document ["ПолучательБанк1"];
                doc.RecipientBik                  = document ["ПолучательБИК"];
                doc.RecipientCorrespondentAccount = document ["ПолучательКорсчет"];
                doc.PaymentPurpose                = document ["НазначениеПлатежа"];

                string value;
                value = StringWorks.Replaces.Values.FirstOrDefault(doc.PayerName.Contains);
                if (!String.IsNullOrWhiteSpace(value))
                {
                    doc.PayerName = doc.PayerName.Replace(value, StringWorks.Replaces.Keys.FirstOrDefault(key => StringWorks.Replaces [key] == value));
                }
                value = StringWorks.Replaces.Values.FirstOrDefault(doc.RecipientName.Contains);
                if (!String.IsNullOrWhiteSpace(value))
                {
                    doc.RecipientName = doc.RecipientName.Replace(value, StringWorks.Replaces.Keys.FirstOrDefault(key => StringWorks.Replaces [key] == value));
                }
                TransferDocuments.Add(doc);
            }
        }
        private void fillData()
        {
            //Для разбора дат и сумм.
            var culture = CultureInfo.CreateSpecificCulture ("ru-RU");
            culture.NumberFormat.NumberDecimalSeparator = ".";

            TransferDocuments = new List<TransferDocument> ();
            foreach (var document in documents) {
                if (document["СекцияДокумент"] == "Мемориальный ордер")
                {
                    logger.Info("Пропущена секция \"Мемориальный ордер\"...");
                    continue;
                }
                TransferDocument doc = new TransferDocument ();
                doc.DocumentType = TransferDocument.GetDocTypeFromString (document ["СекцияДокумент"]);
                doc.Number = document ["Номер"];
                doc.Date = DateTime.Parse (document ["Дата"], culture);
                doc.Total = Decimal.Parse (document ["Сумма"], culture.NumberFormat);
                doc.PayerAccount = document ["ПлательщикСчет"];
                if (document.ContainsKey ("ДатаСписано") && !String.IsNullOrWhiteSpace (document ["ДатаСписано"]))
                    doc.WriteoffDate = DateTime.Parse (document ["ДатаСписано"], culture);
                if (document.ContainsKey ("Плательщик"))
                    doc.PayerName = document ["Плательщик"];
                else
                    doc.PayerName = document ["Плательщик1"];
                if (doc.PayerName.Contains ("р/с") && !String.IsNullOrWhiteSpace (doc.PayerName.Substring (0, doc.PayerName.IndexOf ("р/с"))))
                    doc.PayerName = doc.PayerName.Substring (0, doc.PayerName.IndexOf ("р/с"));
                if (doc.PayerName.Contains ("//") && !String.IsNullOrWhiteSpace (doc.PayerName.Substring (0, doc.PayerName.IndexOf ("//"))))
                    doc.PayerName = doc.PayerName.Substring (0, doc.PayerName.IndexOf ("//"));

                doc.PayerInn = document ["ПлательщикИНН"];
                doc.PayerKpp = document ["ПлательщикКПП"];
                doc.PayerCheckingAccount = document ["ПлательщикРасчСчет"];
                doc.PayerBank = document ["ПлательщикБанк1"];
                doc.PayerBik = document ["ПлательщикБИК"];
                doc.PayerCorrespondentAccount = document ["ПлательщикКорсчет"];
                doc.RecipientAccount = document ["ПолучательСчет"];
                if (document.ContainsKey ("ДатаПоступило") && !String.IsNullOrWhiteSpace (document ["ДатаПоступило"]))
                    doc.ReceiptDate = DateTime.Parse (document ["ДатаПоступило"], culture);
                if (document.ContainsKey ("Получатель"))
                    doc.RecipientName = document ["Получатель"];
                else
                    doc.RecipientName = document ["Получатель1"];
                if (doc.RecipientName.Contains ("р/с") && !String.IsNullOrWhiteSpace (doc.RecipientName.Substring (0, doc.RecipientName.IndexOf ("р/с"))))
                    doc.RecipientName = doc.RecipientName.Substring (0, doc.RecipientName.IndexOf ("р/с"));
                if (doc.RecipientName.Contains ("//") && !String.IsNullOrWhiteSpace (doc.RecipientName.Substring (0, doc.RecipientName.IndexOf ("//"))))
                    doc.RecipientName = doc.RecipientName.Substring (0, doc.RecipientName.IndexOf ("//"));
                doc.RecipientInn = document ["ПолучательИНН"];
                doc.RecipientKpp = document ["ПолучательКПП"];
                doc.RecipientCheckingAccount = document ["ПолучательРасчСчет"];
                doc.RecipientBank = document ["ПолучательБанк1"];
                doc.RecipientBik = document ["ПолучательБИК"];
                doc.RecipientCorrespondentAccount = document ["ПолучательКорсчет"];
                doc.PaymentPurpose = document ["НазначениеПлатежа"];

                string value;
                value = StringWorks.Replaces.Values.FirstOrDefault (doc.PayerName.Contains);
                if (!String.IsNullOrWhiteSpace (value)) {
                    doc.PayerName = doc.PayerName.Replace (value, StringWorks.Replaces.Keys.FirstOrDefault (key => StringWorks.Replaces [key] == value));
                }
                value = StringWorks.Replaces.Values.FirstOrDefault (doc.RecipientName.Contains);
                if (!String.IsNullOrWhiteSpace (value)) {
                    doc.RecipientName = doc.RecipientName.Replace (value, StringWorks.Replaces.Keys.FirstOrDefault (key => StringWorks.Replaces [key] == value));
                }
                TransferDocuments.Add (doc);
            }
        }