예제 #1
0
        private void convertOdb(SkladDataFile file)
        {
            var statID = S0_IDs.GetStatID("CZ");

            foreach (SkladDataObj obj in file.Data)
            {
                var    d   = obj.Items;
                string kod = S3_Adresar.GetOdbID(d["CisloOdberatele"].GetNum());
                if (kod == S3_Adresar.GetOdbID("00001"))
                {
                    continue;
                }

                string kodSumFa = d["KodSumFa"].GetAlfaNum();
                string kodOdb   = d["KodOdb"].GetAlfaNum();

                var firma = new S5DataFirma()
                {
                };
                firma.ID = S0_IDs.GetFirmaID(kod);

                if (firma.ID == null)
                {
                    continue;
                }

                string tel1ID     = S0_IDs.GetSpojeniID(GetKodTelefon0(kod));
                string tel1copyID = S0_IDs.GetSpojeniID(GetKodTelefon1(kod));
                string email1ID   = S0_IDs.GetSpojeniID(GetKodEmail1(kod));

                if (kodSumFa == "dr")
                {
                    firma.Cinnosti = new S5DataFirmaCinnosti()
                    {
                        FirmaCinnost = new S5DataFirmaCinnostiFirmaCinnost[] {
                            new S5DataFirmaCinnostiFirmaCinnost()
                            {
                                Cinnost_ID = S0_IDs.GetCinnostID("DRAK")
                            }
                        }
                    };
                }
                else
                {
                    if (d["SumFa"].GetBoolean() == "True")
                    {
                        firma.Cinnosti = new S5DataFirmaCinnosti()
                        {
                            FirmaCinnost = new S5DataFirmaCinnostiFirmaCinnost[] {
                                new S5DataFirmaCinnostiFirmaCinnost()
                                {
                                    Cinnost_ID = S0_IDs.GetCinnostID("S_FA")
                                }
                            }
                        };
                    }

                    var  cisloOdbKodSumFa  = S3_Adresar.GetOdbID(findKodOdbKodSum(kodSumFa));
                    var  nadrazenaFirmaObj = findOdbByKod(cisloOdbKodSumFa);
                    var  nadrazenaFirmaID  = S0_IDs.GetFirmaID(cisloOdbKodSumFa);
                    bool isKodSumFa        = true;

                    if (nadrazenaFirmaID == null)
                    {
                        var cisloOdbKodOdb = S3_Adresar.GetOdbID(findKodOdbKodOdb(kodOdb));
                        nadrazenaFirmaObj = findOdbByKod(cisloOdbKodOdb);
                        nadrazenaFirmaID  = S0_IDs.GetFirmaID(cisloOdbKodOdb);
                        isKodSumFa        = false;
                    }

                    if (firma.ID != nadrazenaFirmaID && nadrazenaFirmaID != null)
                    {
                        firma.Adresy = new S5DataFirmaAdresy()
                        {
                            OdlisnaAdresaProvozovny = "True",
                            ObchodniAdresa          = new S5DataFirmaAdresyObchodniAdresa()
                            {
                                Nazev  = SkladDataObj.GetNazev(nadrazenaFirmaObj.Items["NazevOdberatele"], nadrazenaFirmaObj.Items["NazevOdberatele2"]),
                                Ulice  = nadrazenaFirmaObj.Items["Ulice"].GetText(),
                                KodPsc = nadrazenaFirmaObj.Items["Psc"].GetNum(),
                                Misto  = nadrazenaFirmaObj.Items["Mesto"].GetText(),
                                Stat   = new S5DataFirmaAdresyObchodniAdresaStat()
                                {
                                    ID = statID
                                }
                            }
                        };

                        firma.Nazev = SkladDataObj.GetNazev(nadrazenaFirmaObj.Items["NazevOdberatele"], nadrazenaFirmaObj.Items["NazevOdberatele2"]);

                        firma.NadrazenaFirma = new S5DataFirmaNadrazenaFirma()
                        {
                            PrevzitObchodniPodminky = isKodSumFa ? "True" : "False",
                            PrevzitObchodniUdaje    = "True",
                            PrevzitBankovniSpojeni  = "True",
                            Firma = new S5DataFirmaNadrazenaFirmaFirma()
                            {
                                ID = nadrazenaFirmaID
                            }
                        };

                        if (email1ID == null)
                        {
                            var emails = SkladDataObj.GetEmaily(nadrazenaFirmaObj.Items["Mail"]);
                            if (firma.SeznamSpojeni == null)
                            {
                                firma.SeznamSpojeni = new S5DataFirmaSeznamSpojeni()
                                {
                                    Spojeni = new S5DataFirmaSeznamSpojeniSpojeni[] {
                                        new S5DataFirmaSeznamSpojeniSpojeni()
                                        {
                                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("Email"),
                                            SpojeniCislo  = emails.Item1,
                                            Kod_UserData  = S7_Dopl.GetKodEmail1(kod),
                                            Popis         = "z nadřazené firmy"
                                        }
                                    }
                                }
                            }
                            ;
                        }
                    }
                }

                _firmy.Add(firma);
            }
        }