Esempio n. 1
0
        private void convertDod(SkladDataFile file)
        {
            var statID = S0_IDs.GetStatID("CZ");

            foreach (SkladDataObj obj in file.Data)
            {
                var d   = obj.Items;
                var kod = GetDodID(d["CisloDodavatele"].GetNum());

                var firma = new S5DataFirma()
                {
                    Kod   = kod,
                    Nazev = SkladDataObj.GetNazev(d["NazevDodavatele"], d["NazevDodavatele2"]),
                    ICO   = obj.GetIco(),
                    DIC   = obj.GetDic(),
                    DatumPorizeni_UserData          = d["DatumPorizeni"].GetDate(),
                    DatumPorizeni_UserDataSpecified = true,
                    Sleva = new S5DataFirmaSleva()
                    {
                        Sleva        = "0",
                        VlastniSleva = "False"
                    }
                };

                firma.Poznamka = (
                    d["ZavozDen"].GetText() == "" ? "" :
                    "Závozový den: " + d["ZavozDen"].GetText() + XmlEnv.NewLine + XmlEnv.NewLine
                    ) + obj.GetF3Note() + XmlEnv.NewLine + obj.GetL2Note();

                var tels     = SkladDataObj.GetTelefony(d["Telefon"]);
                var telsOZ   = SkladDataObj.GetTelefony(d["TelefonOz"]);
                var emails   = SkladDataObj.GetEmaily(d["Mail"]);
                var emailsOZ = SkladDataObj.GetEmaily(d["MailOZ"]);

                firma.SeznamSpojeni = new S5DataFirmaSeznamSpojeni()
                {
                    DeleteItems = "1",
                    Spojeni     = new S5DataFirmaSeznamSpojeniSpojeni[] {
                        tels.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelObj"),
                            SpojeniCislo  = tels.Item1,
                            Kod_UserData  = S7_Dopl.GetKodTelefon0(kod),
                            Popis         = d["Zastoupeny"].GetText()
                        } : null,
                        emails.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailObj"),
                            SpojeniCislo  = emails.Item1,
                            Kod_UserData  = S7_Dopl.GetKodEmail1(kod),
                            Popis         = d["Zastoupeny"].GetText()
                        } : null,
                        tels.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelObj"),
                            SpojeniCislo  = tels.Item2,
                            Kod_UserData  = S7_Dopl.GetKodTelefon1(kod),
                            Popis         = d["Zastoupeny"].GetText()
                        } : null,
                        telsOZ.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelOz"),
                            SpojeniCislo  = tels.Item1,
                            Kod_UserData  = S7_Dopl.GetKodTelefon2(kod),
                            Popis         = d["ZastoupenyOZ"].GetText()
                        } : null,
                        telsOZ.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelOz"),
                            SpojeniCislo  = telsOZ.Item2,
                            Kod_UserData  = S7_Dopl.GetKodTelefon3(kod),
                            Popis         = d["ZastoupenyOZ"].GetText()
                        } : null,
                        emailsOZ.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailOz"),
                            SpojeniCislo  = emailsOZ.Item1,
                            Kod_UserData  = S7_Dopl.GetKodEmailFA1(kod),
                            Popis         = d["ZastoupenyOZ"].GetText()
                        } : null,
                        emails.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("Email"),
                            SpojeniCislo  = emails.Item2,
                            Kod_UserData  = S7_Dopl.GetKodEmail2(kod)
                        } : null,
                        emailsOZ.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailOz"),
                            SpojeniCislo  = emailsOZ.Item2,
                            Kod_UserData  = S7_Dopl.GetKodEmailFA2(kod)
                        } : null,
                        tels.Item1 == null && tels.Item2 == null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("Tel"),
                            SpojeniCislo  = "#",
                            Kod_UserData  = S7_Dopl.GetKodTelefon0(kod),
                            Popis         = "<Neznamy>"
                        } : null
                    }
                };

                firma.Adresy = new S5DataFirmaAdresy()
                {
                    ObchodniAdresa = new S5DataFirmaAdresyObchodniAdresa()
                    {
                        Nazev  = SkladDataObj.GetNazev(d["NazevDodavatele"], d["NazevDodavatele2"]),
                        Ulice  = d["Ulice"].GetText(),
                        KodPsc = d["Psc"].GetNum(),
                        Misto  = d["Mesto"].GetText(),
                        Stat   = new S5DataFirmaAdresyObchodniAdresaStat()
                        {
                            ID = statID
                        }
                    }
                };

                var akceCenikID   = S0_IDs.GetCenikID("_AKCE");
                var prodejCenikID = S0_IDs.GetCenikID("_PRODEJ");

                firma.ObchodniPodminky = new S5DataFirmaObchodniPodminky()
                {
                    ZpusobVyberuCeny = new enum_ZpusobVyberuCeny()
                    {
                        Value = enum_ZpusobVyberuCeny_value.Item3 // zpusob prebirani ceny poradim
                    },
                    SeznamCeniku = new S5DataFirmaObchodniPodminkySeznamCeniku()
                    {
                        DeleteItems = "1",
                        FirmaCenik  = new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik[] {
                            new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                            {
                                Poradi   = "1",
                                Cenik_ID = akceCenikID
                            },
                            new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                            {
                                Poradi   = "2",
                                Cenik_ID = prodejCenikID
                            },
                        }
                    }
                };

                _firmy.Add(firma);
            }
        }
Esempio n. 2
0
        private void convertOdb(SkladDataFile file)
        {
            var statID = S0_IDs.GetStatID("CZ");

            foreach (SkladDataObj obj in file.Data)
            {
                var d = obj.Items;

                string kodOdb    = d["CisloOdberatele"].GetNum();
                string kod       = GetOdbID(kodOdb);
                bool   jeOstatni = d["NazevOdberatele"].GetText().StartsWith("\\");

                if (kod == GetOdbID("00001"))
                {
                    continue;
                }
                if (d["NazevOdberatele"].GetText().StartsWith("||"))
                {
                    continue;
                }

                var firma = new S5DataFirma()
                {
                    Kod    = kod,
                    Nazev  = SkladDataObj.GetNazev(d["NazevOdberatele"], d["NazevOdberatele2"]),
                    ICO    = obj.GetIco(),
                    DIC    = obj.GetDic(),
                    Zprava = obj.GetF3Note().Replace("\n", "\n\n"),
                    PoznamkaInterni_UserData        = obj.GetL2Note(),
                    DatumPorizeni_UserData          = d["DatumPorizeni"].GetDate(),
                    DatumPorizeni_UserDataSpecified = true,
                    KodOdb_UserData   = d["KodOdb"].GetAlfaNum(),
                    KodSumFa_UserData = d["KodSumFa"].GetAlfaNum()
                };

                firma.Pohledavky = new S5DataFirmaPohledavky()
                {
                    SplatnostPohledavek        = d["Splatnost"].GetNum(),
                    VlastniSplatnostPohledavek = d["Splatnost"].GetFloat() == 0 ? "False" : "True"
                };
                firma.PlatceDPH = firma.DIC == null ? "False" : "True";
                firma.EvidovatNahradniPlneni = d["NahradniPlneni"].GetBoolean();

                // v programu Odber FA: A/N, Money: Pouzivat kredit: true + Kredit: 0 = nepovolí prodej na FA
                firma.Kredit = new S5DataFirmaKredit()
                {
                    Kredit         = "0",
                    PouzivatKredit = d["KupniSmlouva"].GetBooleanNegative()
                };
                firma.Sleva = new S5DataFirmaSleva()
                {
                    Sleva        = (firma.Group != null && jeOstatni) ? "0" : d["RabatO"].GetDecimal(),
                    VlastniSleva = (firma.Group != null && jeOstatni) ? "False" : "True"
                };
                firma.SlevaUvadena_UserData = d["PRabatO"].GetDecimal();

                var akceCenikID   = S0_IDs.GetCenikID("_AKCE");
                var prodejCenikID = S0_IDs.GetCenikID("_PRODEJ");
                var nakupCenikID  = S0_IDs.GetCenikID("_NAKUP");

                if (jeOstatni)
                {
                    firma.Sleva = new S5DataFirmaSleva()
                    {
                        Sleva        = "0",
                        VlastniSleva = "False"
                    };
                    firma.ObchodniPodminky = new S5DataFirmaObchodniPodminky()
                    {
                        ZpusobVyberuCeny = new enum_ZpusobVyberuCeny()
                        {
                            Value = enum_ZpusobVyberuCeny_value.Item2 // zpusob prebirani ceny poradi
                        },
                        SeznamCeniku = new S5DataFirmaObchodniPodminkySeznamCeniku()
                        {
                            DeleteItems = "1",
                            FirmaCenik  = new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik[] {
                                new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                                {
                                    Poradi   = "1",
                                    Cenik_ID = nakupCenikID
                                },
                                new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                                {
                                    Poradi   = "2",
                                    Cenik_ID = prodejCenikID
                                }
                            }
                        }
                    };
                }
                else
                {
                    firma.ObchodniPodminky = new S5DataFirmaObchodniPodminky()
                    {
                        ZpusobVyberuCeny = new enum_ZpusobVyberuCeny()
                        {
                            Value = enum_ZpusobVyberuCeny_value.Item2 // zpusob prebirani ceny poradi
                        },
                        SeznamCeniku = new S5DataFirmaObchodniPodminkySeznamCeniku()
                        {
                            DeleteItems = "1",
                            FirmaCenik  = new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik[] {
                                d["RabatO"].GetFloat() >= 0 ? new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                                {
                                    Poradi   = "1",
                                    Cenik_ID = akceCenikID
                                } : null,
                                new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik()
                                {
                                    Poradi   = "2",
                                    Cenik_ID = prodejCenikID
                                },
                            }
                        }
                    };
                }

                firma.AdresniKlice = new S5DataFirmaAdresniKlice()
                {
                    DeleteItems      = "1",
                    FirmaAdresniKlic = new S5DataFirmaAdresniKliceFirmaAdresniKlic[] {
                        d["SDani"].GetAlfaNum().ToUpper() == "A" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("sDPH")
                        } : null,
                        d["SDani"].GetAlfaNum().ToUpper() == "X" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("-DLCENY")
                        } : null,
                        d["DavatSek"].GetAlfaNum().ToUpper() == "N" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("-SEK")
                        } : null,
                        d["Odesilat"].GetAlfaNum().ToUpper() == "N" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("-LETAK")
                        } : null,
                        d["KodOdb"].GetAlfaNum().ToUpper() == "OZ" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("OZ")
                        } : null,
                        d["KodOdb"].GetAlfaNum().ToUpper() == "OZN" ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("OZN")
                        } : null,
                        int.Parse(kodOdb) > 7000 ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("INT")
                        } : null,
                        jeOstatni ? new S5DataFirmaAdresniKliceFirmaAdresniKlic()
                        {
                            AdresniKlic_ID = S0_IDs.GetAdresniKlicID("OST")
                        } : null,
                    }
                };

                var tels     = SkladDataObj.GetTelefony(d["Telefon"]);
                var emails   = SkladDataObj.GetEmaily(d["Mail"]);
                var emailsFA = SkladDataObj.GetEmaily(d["MailFA"]);

                firma.SeznamSpojeni = new S5DataFirmaSeznamSpojeni()
                {
                    DeleteItems = "1",
                    Spojeni     = new S5DataFirmaSeznamSpojeniSpojeni[] {
                        tels.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelPreb"),
                            SpojeniCislo  = tels.Item1,
                            Kod_UserData  = S7_Dopl.GetKodTelefon0(kod),
                            Popis         = d["Prebirajici"].GetText()
                        } : null,
                        tels.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelPreb"),
                            SpojeniCislo  = tels.Item2,
                            Kod_UserData  = S7_Dopl.GetKodTelefon1(kod),
                            Popis         = d["Prebirajici"].GetText()
                        } : null,
                        emails.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailObj"),
                            SpojeniCislo  = emails.Item1,
                            Kod_UserData  = S7_Dopl.GetKodEmail1(kod),
                            Popis         = d["Prebirajici"].GetText()
                        } : null,
                        emails.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailObj"),
                            SpojeniCislo  = emails.Item2,
                            Kod_UserData  = S7_Dopl.GetKodEmail2(kod)
                        } : null,
                        !SkladDataObj.jePodobne(d["Zastoupeny"].GetText(), d["Prebirajici"].GetText()) ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelVed"),
                            SpojeniCislo  = "",
                            Kod_UserData  = S7_Dopl.GetKodTelefon2(kod),
                            Popis         = d["Zastoupeny"].GetText()
                        } : null,
                        emailsFA.Item1 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailFa"),
                            SpojeniCislo  = emailsFA.Item1,
                            Kod_UserData  = S7_Dopl.GetKodEmailFA1(kod)
                        } : null,
                        emailsFA.Item2 != null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("EmailFa"),
                            SpojeniCislo  = emailsFA.Item2,
                            Kod_UserData  = S7_Dopl.GetKodEmailFA2(kod)
                        } : null,
                        tels.Item1 == null && tels.Item2 == null ? new S5DataFirmaSeznamSpojeniSpojeni()
                        {
                            TypSpojeni_ID = S0_IDs.GetTypSpojeniID("TelPreb"),
                            SpojeniCislo  = "#",
                            Kod_UserData  = S7_Dopl.GetKodTelefon0(kod),
                            Popis         = "<Neznamy>"
                        } : null
                    }
                };

                var isPrijemce = !(d["UlicePrijemce"].IsEmpty() && d["MestoPrijemce"].IsEmpty() && d["NazevPrijemce"].IsEmpty());

                firma.Adresy = new S5DataFirmaAdresy()
                {
                    ObchodniAdresa = new S5DataFirmaAdresyObchodniAdresa()
                    {
                        Nazev  = SkladDataObj.GetNazev(d["NazevOdberatele"], d["NazevOdberatele2"]),
                        Ulice  = d["Ulice"].GetText(),
                        KodPsc = d["Psc"].GetNum(),
                        Misto  = d["Mesto"].GetText(),
                        Stat   = new S5DataFirmaAdresyObchodniAdresaStat()
                        {
                            ID = statID
                        }
                    },
                    Provozovna = isPrijemce ? new S5DataFirmaAdresyProvozovna()
                    {
                        Nazev  = SkladDataObj.GetNazev(d["NazevPrijemce"], d["NazevPrijemce2"]),
                        Ulice  = d["UlicePrijemce"].GetText(),
                        KodPsc = d["PscPrijemce"].GetNum(),
                        Misto  = d["MestoPrijemce"].GetText(),
                        Stat   = new S5DataFirmaAdresyProvozovnaStat()
                        {
                            ID = statID
                        }
                    } : null,
                    OdlisnaAdresaProvozovny = isPrijemce ? "True" : "False"
                };

                _firmy.Add(firma);
            }
        }
Esempio n. 3
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);
            }
        }