Beispiel #1
0
 public RarTurnoverData()
 {
     Subdevision  = new RarSubdevision();
     Manufacturer = new RarCompany();
     Buyer        = new RarCompany();
     License      = new RarLicense();
 }
Beispiel #2
0
 public RarCompany(RarCompany company)
 {
     ID          = company.ID;
     Name        = company.Name;
     INN         = company.INN;
     KPP         = company.KPP;
     Adress      = company.Adress;
     LicenseList = company.LicenseList;
 }
Beispiel #3
0
        private void SetupBuyers(XElement references, RarFormF6 formF6)
        {
            if (references == null || formF6 == null)
            {
                return;
            }
            foreach (XNode node in references.Elements("Контрагенты"))
            {
                XElement   el = (XElement)node;
                RarCompany rc = new RarCompany();
                rc.Name = GetAttributeStringValue(el.Attribute("П000000000007"));
                rc.ID   = GetAttributeStringValue(el.Attribute("ИдКонтр"));

                XElement resident = el.Element("Резидент");
                if (resident != null)
                {
                    SetupLisences(resident.Element("Лицензии"), rc);
                    XElement adress = resident.Element("П000000000008");
                    rc.Adress = SetupAdress(adress);

                    XElement company = resident.Element("ЮЛ");
                    if (company != null)
                    {
                        rc.INN = GetAttributeStringValue(company.Attribute("П000000000009"));
                        rc.KPP = GetAttributeStringValue(company.Attribute("П000000000010"));
                    }
                    else
                    {
                        XElement individual = resident.Element("ФЛ");
                        if (individual != null)
                        {
                            rc.INN = GetAttributeStringValue(individual.Attribute("П000000000009"));
                        }
                    }
                }
                else
                {
                    XElement foreigner = el.Element("Иностр");
                    if (foreigner != null)
                    {
                        rc.INN = GetAttributeStringValue(foreigner.Attribute("Номер")); //Учетный номер

                        rc.Adress = new RarAdress();
                        rc.Adress.StrictAdress = false;
                        rc.Adress.AdressString = GetAttributeStringValue(foreigner.Attribute("П000000000082"));
                        rc.Adress.CountryId    = GetAttributeStringValue(foreigner.Attribute("П000000000081"));
                    }
                }

                formF6.BuyerList.Add(rc);
            }
        }
Beispiel #4
0
        private XElement[] GetProductList(List <RarTurnoverData> turnoverList, RarCompany manufacture)
        {
            List <RarTurnoverData> cutTurnoverList = turnoverList.Where(s => s.Manufacturer == manufacture).ToList();

            return(cutTurnoverList.Select(p =>
                                          new XElement("Продукция",
                                                       new XAttribute("П200000000013", p.DocumentDate.ToShortDateString()),
                                                       new XAttribute("П200000000014", p.DocumentNumber),
                                                       p.CustomsDeclarationNumber == null ? null : new XAttribute("П200000000015", p.CustomsDeclarationNumber),
                                                       new XAttribute("П200000000016", p.Turnover)
                                                       )
                                          ).ToArray());
        }
Beispiel #5
0
        private void SetupTurnoverData(XElement turnoverdata, RarFormF6 formF6)
        {
            RarSubdevision subdevision = new RarSubdevision();

            subdevision.Name = (string)turnoverdata.Attribute("Наим");
            subdevision.KPP  = (string)turnoverdata.Attribute("КППЮЛ");
            //subdevision.SalePresented = (bool)turnoverdata.Attribute("НаличиеПоставки");
            //subdevision.ReturnPresented = (bool)turnoverdata.Attribute("НаличиеВозврата");
            subdevision.Adress = SetupAdress(turnoverdata.Element("АдрОрг"));
            formF6.OurCompany.SubdevisionList.Add(subdevision);
            foreach (XNode nodeAlcoCode in turnoverdata.Elements("Оборот"))
            {
                XElement elAlcoCode = (XElement)nodeAlcoCode;
                foreach (XNode nodeManufacturer in elAlcoCode.Elements("СведПроизвИмпорт"))
                {
                    XElement   elManufacturer = (XElement)nodeManufacturer;
                    string     manufacturID   = (string)elManufacturer.Attribute("ИдПроизвИмп");
                    RarCompany manufacturer   = formF6.ManufacturerList.Where(p => p.ID == manufacturID).First();
                    foreach (XNode nodeBuyer in elManufacturer.Elements("Получатель"))
                    {
                        XElement   elBuyer = (XElement)nodeBuyer;
                        string     buyerID = (string)elBuyer.Attribute("ИдПолучателя");
                        RarCompany buyer   = formF6.BuyerList.Where(p => p.ID == buyerID).First();
                        buyer.IsUsed = true;
                        string     licenseID = (string)elBuyer.Attribute("ИдЛицензии");
                        RarLicense license   = buyer.LicenseList.Where(s => s.ID == licenseID).FirstOrDefault();

                        foreach (XNode nodeDocument in elBuyer.Elements("Поставка"))
                        {
                            XElement elDocument = (XElement)nodeDocument;

                            RarTurnoverData data = new RarTurnoverData();
                            data.Subdevision  = subdevision;
                            data.AlcoCode     = (string)elAlcoCode.Attribute("П000000000003");
                            data.Manufacturer = manufacturer;
                            data.Buyer        = buyer;
                            data.License      = license;

                            //data.NotificationDate=      DateTime.Parse(el.Element("СведПроизвИмпорт").Element("Получатель").Element("Поставка").Attribute("П000000000015").Value);
                            //data.NotificationNumber =   (string)el.Element("СведПроизвИмпорт").Element("Получатель").Element("Поставка").Attribute("П000000000016");
                            //data.NotificationTurnover = (double)el.Element("СведПроизвИмпорт").Element("Получатель").Element("Поставка").Attribute("П000000000017");
                            data.DocumentDate   = DateTime.Parse(elDocument.Attribute("П000000000018").Value);
                            data.DocumentNumber = (string)elDocument.Attribute("П000000000019");
                            //data.CustomsDeclarationNumber = (string)el.Element("СведПроизвИмпорт").Element("Получатель").Element("Поставка").Attribute("П000000000020");
                            data.Turnover = (double)elDocument.Attribute("П000000000021");
                            formF6.TurnoverDataList.Add(data);
                        }
                    }
                }
            }
        }
Beispiel #6
0
        private void SetupManufacturers(XElement references, RarFormF6 formF6)
        {
            if (references == null || formF6 == null)
            {
                return;
            }

            foreach (XNode node in references.Elements("ПроизводителиИмпортеры"))
            {
                XElement   el = (XElement)node;
                RarCompany rc = new RarCompany();
                rc.ID   = GetAttributeStringValue(el.Attribute("ИдПроизвИмп"));
                rc.Name = GetAttributeStringValue(el.Attribute("П000000000004"));
                rc.INN  = GetAttributeStringValue(el.Attribute("П000000000005"));
                rc.KPP  = GetAttributeStringValue(el.Attribute("П000000000006"));   //необязат
                formF6.ManufacturerList.Add(rc);
            }
        }
Beispiel #7
0
        private void SetupLisences(XElement lisenses, RarCompany rc)
        {
            if (lisenses == null || rc == null)
            {
                return;
            }

            foreach (XNode node in lisenses.Elements("Лицензия"))
            {
                RarLicense license = new RarLicense();
                XElement   el      = (XElement)node;
                license.ID           = GetAttributeStringValue(el.Attribute("ИдЛицензии"));
                license.SeriesNumber = GetAttributeStringValue(el.Attribute("П000000000011"));
                license.DateFrom     = DateTime.Parse(el.Attribute("П000000000012").Value);
                license.DateTo       = DateTime.Parse(el.Attribute("П000000000013").Value);
                license.Issuer       = GetAttributeStringValue(el.Attribute("П000000000014"));
                rc.LicenseList.Add(license);
            }
        }
Beispiel #8
0
        private XElement GetCompanyElement(RarCompany company)
        {
            if ((company.Adress.CountryId == null) || (company.Adress.CountryId == "643"))
            {
                XElement domestic = new XElement("Резидент",
                                                 GetAdressElement(company.Adress),
                                                 new XElement("ЮЛ",
                                                              new XAttribute("П000000000009", company.INN == null ? "" : company.INN),
                                                              new XAttribute("П000000000010", company.KPP == null ? "" : company.KPP)),
                                                 new XElement("Производитель", new XAttribute("value", "True")),
                                                 new XElement("Перевозчик", new XAttribute("value", "False"))
                                                 );
                return(domestic);
            }

            XElement foreigner = new XElement("Иностр",
                                              new XAttribute("П000000000081", company.Adress.CountryId));

            return(foreigner);
        }