private void convertZasoby(SkladDataFile file) { var skladID = S0_IDs.GetSkladID("HL"); string artiklID, katalog; foreach (SkladDataObj obj in file.Data) { var d = obj.Items; katalog = S3_Katalog.GetID(d["CisloKarty"].GetNum()); artiklID = S0_IDs.GetArtiklID(katalog); if (artiklID == null) { continue; } var zasoba = new S5DataZasoba() { Kod = katalog, Sklad_ID = skladID, Artikl_ID = artiklID }; _zasoby.Add(zasoba); } }
private void convertPodKod(SkladDataFile file) { string podkategorie, podkategorieID; foreach (SkladDataObj obj in file.Data) { var d = obj.Items; podkategorie = d["KodZbozi"].GetNum() + d["PodKodZbozi"].GetNum(); podkategorieID = S0_IDs.GetKategorieArtikluID(podkategorie); if (podkategorieID == null) { podkategorieID = Guid.NewGuid().ToString(); } var cat = new S5DataKategorieArtiklu() { ID = podkategorieID, Kod = podkategorie, Nazev = d["NazevPOdKodu"].GetText(), Poradi_UserData = d["PodPoradi"].GetAlfaNum(), ParentObject_ID = _kategorie.Find((a) => { return(a.Kod == d["KodZbozi"].GetNum()); }).ID }; _kategorie.Add(cat); } }
private void convertZaklCeny(SkladDataFile karty) { var skladID = S0_IDs.GetSkladID("HL"); foreach (var karta in karty.Data) { var d = karta.Items; var k = new S5DataPolozkaCeniku(); k.Cenik_ID = S0_IDs.GetCenikID("_PRODEJ"); k.Kod = "PROD" + d["CisloKarty"].GetNum(); k.Artikl_ID = S0_IDs.GetArtiklID(S3_Katalog.GetID(d["CisloKarty"].GetNum())); if (k.Artikl_ID == null) { continue; } k.Sklad_ID = skladID; k.CanGetDataFromGroup = "False"; k.NepodlehatSleveDokladu = "False"; k.VychoziCena = new S5DataPolozkaCenikuVychoziCena() { TypCeny = new enum_TypVychoziCeny() { Value = enum_TypVychoziCeny_value.Item0 } }; k.Cena = Math.Round(d["NakupCena"].GetFloat() + d["NakupCena"].GetFloat() / 100 * d["Rabat"].GetFloat(), 2).ToString().Replace(".", ","); _ceny.Add(k); } foreach (var karta in karty.Data) { var d = karta.Items; var k = new S5DataPolozkaCeniku(); k.Cenik_ID = S0_IDs.GetCenikID("_NAKUP"); k.Kod = "NAKUP" + d["CisloKarty"].GetNum(); k.Artikl_ID = S0_IDs.GetArtiklID(S3_Katalog.GetID(d["CisloKarty"].GetNum())); if (k.Artikl_ID == null) { continue; } k.Sklad_ID = skladID; k.CanGetDataFromGroup = "False"; k.NepodlehatSleveDokladu = "False"; k.VychoziCena = new S5DataPolozkaCenikuVychoziCena() { TypCeny = new enum_TypVychoziCeny() { Value = enum_TypVychoziCeny_value.Item0 } }; k.Cena = Math.Round(d["NakupCena"].GetFloat(), 2).ToString().Replace(".", ","); _ceny.Add(k); } }
private void convertOdbCeniky(SkladDataFile firmy) { foreach (var f in firmy.Data) { var data = f.Items; if (data["CisloSkup"].GetNum() != "0000") { var firma = new S5DataFirma(); var firmaID = S0_IDs.GetFirmaID(S3_Adresar.GetOdbID(data["CisloOdberatele"].GetNum())); var prodejCenikID = S0_IDs.GetCenikID("_PRODEJ"); var nakupCenikID = S0_IDs.GetCenikID("_NAKUP"); var akceCenikID = S0_IDs.GetCenikID("_AKCE"); firma.ID = firmaID; firma.ObchodniPodminky = new S5DataFirmaObchodniPodminky() { ZpusobVyberuCeny = new enum_ZpusobVyberuCeny() { // vyber ceny dle podle poradi Value = enum_ZpusobVyberuCeny_value.Item2 }, SeznamCeniku = new S5DataFirmaObchodniPodminkySeznamCeniku() { DeleteItems = "1", FirmaCenik = new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik[] { new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik() { Poradi = "1", Firma_ID = firmaID, Cenik = new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenikCenik() { Kod = kodSkupKodCenik.GetValueOrDefault(data["CisloSkup"].GetNum()) } }, data["RabatO"].GetFloat() >= 0 ? new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik() { Poradi = "2", Firma_ID = firmaID, Cenik_ID = akceCenikID } : null, new S5DataFirmaObchodniPodminkySeznamCenikuFirmaCenik() { Poradi = "3", Firma_ID = firmaID, Cenik_ID = prodejCenikID }, } } }; _firmy.Add(firma); } } }
private void convertCeniky(SkladDataFile skupiny) { var skladID = S0_IDs.GetSkladID("HL"); foreach (var skupina in skupiny.Data) { var data = skupina.Items; var cenik = new S5DataCenik(); string cenikNazev = data["NazevSkup"].GetText() != "" ? data["NazevSkup"].GetText() : "Neznámý"; cenik.Kod = GetKod(cenikNazev); cenik.Nazev = cenikNazev; cenik.VychoziSklad_ID = skladID; _ceniky.Add(cenik); kodSkupKodCenik.Add(data["CisloSkup"].GetNum(), cenik.Kod); } }
private void convertCeny(SkladDataFile ceny) { var skladID = S0_IDs.GetSkladID("HL"); foreach (var cena in ceny.Data) { var d = cena.Items; var c = new S5DataPolozkaCeniku(); c.Cenik = new S5DataPolozkaCenikuCenik() { Kod = kodSkupKodCenik.GetValueOrDefault(d["CisloSkup"].GetNum()) }; c.Kod = d["CisloSkup"].GetNum() + d["CisloKarty"].GetNum(); c.Artikl_ID = S0_IDs.GetArtiklID(S3_Katalog.GetID(d["CisloKarty"].GetNum())); if (c.Artikl_ID == null) { continue; } c.Sklad_ID = skladID; c.Cena = d["SpecCena"].GetDecimal(); c.NepodlehatSleveDokladu = "True"; c.CanGetDataFromGroup = "False"; c.VychoziCena = new S5DataPolozkaCenikuVychoziCena() { TypCeny = new enum_TypVychoziCeny() { Value = enum_TypVychoziCeny_value.Item0 }, }; c.VypocetCeny = new S5DataPolozkaCenikuVypocetCeny() { ZpusobVypoctu = new enum_ZpusobVypoctuCeny() { Value = enum_ZpusobVypoctuCeny_value.Item0 } }; _ceny.Add(c); } }
private void convertKarty(SkladDataFile file) { foreach (SkladDataObj obj in file.Data) { var d = obj.Items; string kod = S3_Katalog.GetID(d["CisloKarty"].GetNum()); var artikl = new S5DataArtikl() { }; artikl.ID = S0_IDs.GetArtiklID(kod); if (artikl.ID == null) { continue; } var kodDodavatele = S3_Adresar.GetDodID(d["CisloDodavatele"].GetNum()); artikl.HlavniDodavatel_ID = S0_IDs.GetArtiklDodavatelID(artikl.ID, S0_IDs.GetFirmaID(kodDodavatele)); var mernaJednotka = d["MernaJednotka"].GetNoSpaces().RemoveDiacritics().ToLower(); var jednotkaID = S0_IDs.GetJednotkaID(mernaJednotka); var hlavniJednotkaID = S0_IDs.GetArtiklJednotkaID(artikl.ID, jednotkaID); artikl.Jednotky = hlavniJednotkaID != null ? new S5DataArtiklJednotky() { SeznamJednotek = new S5DataArtiklJednotkySeznamJednotek() { ArtiklJednotka = new S5DataArtiklJednotkySeznamJednotekArtiklJednotka[] { new S5DataArtiklJednotkySeznamJednotekArtiklJednotka() { ID = hlavniJednotkaID, NedelitelneMnozstvi = d["MinFol"].GetBoolean() == "True" ? d["VFol"].GetNum() : null } } } } : null; _artikly.Add(artikl); } }
private void convertKod(SkladDataFile file) { string kategorie, kategorieID; foreach (SkladDataObj obj in file.Data) { var d = obj.Items; kategorie = d["KodZbozi"].GetNum(); kategorieID = S0_IDs.GetKategorieArtikluID(kategorie); if (kategorieID == null) { kategorieID = Guid.NewGuid().ToString(); } var cat = new S5DataKategorieArtiklu() { ID = kategorieID, Kod = kategorie, Nazev = d["NazevKodu"].GetText(), Poradi_UserData = d["Poradi"].GetAlfaNum() }; _kategorie.Add(cat); } }
private void convertKarty(SkladDataFile file) { var eobchodID = S0_IDs.GetElektronickyObchodID("EO_PEMA"); foreach (SkladDataObj obj in file.Data) { var d = obj.Items; var nazevZbozi = obj.GetNazevZbozi(); var artikl = new S5DataArtikl() { Kod = GetID(d["CisloKarty"].GetNum()), PosledniCena = d["NakupCena"].GetDecimal(), Zkratka12 = d["Pozice"].GetAlfaNum().ToUpper(), Zkratka20 = d["NazevZbozi2"].GetText() }; var druhZboziKod = "ZBO"; var regexLom = new Regex(@"^\\[a-zA-Z0-9]+\\"); var regexObal = new Regex(@"^\|[a-zA-Z0-9]"); var regexZrus = new Regex(@"^\|\|[0-9]"); if (regexLom.IsMatch(nazevZbozi)) // specialni do vyberovek { druhZboziKod = "SPE"; artikl.InterniOznaceni_UserData = regexLom.Match(nazevZbozi).Value.Replace(@"\", "").ToUpper(); nazevZbozi = regexLom.Replace(nazevZbozi, "").FirstCharToUpper(); } else if (regexObal.IsMatch(nazevZbozi)) // obaly, palety { druhZboziKod = "OBA"; nazevZbozi = nazevZbozi.Replace("|", "").Trim().FirstCharToUpper(); artikl.NepodlehatSleveDokladu = "True"; } else if (regexZrus.IsMatch(nazevZbozi)) // zrusene zbozi { druhZboziKod = "ZRU"; nazevZbozi = nazevZbozi.Replace("|", "").Trim().FirstCharToUpper(); int aktualniRok = DateTime.Now.Year; var rokOdstranStr = "20" + nazevZbozi.Substring(0, 2); int rokOdstran = int.TryParse(rokOdstranStr, out int result) ? int.Parse(rokOdstranStr) : aktualniRok; if (rokOdstran < aktualniRok) { continue; } } artikl.Nazev = nazevZbozi; artikl.DruhArtiklu_ID = S0_IDs.GetDruhZboziID(druhZboziKod); var sazbaDPH = new enum_DruhSazbyDPH() { }; switch (d["SazbaD"].GetNum()) { case "21": sazbaDPH.Value = enum_DruhSazbyDPH_value.Item1; break; case "15": sazbaDPH.Value = enum_DruhSazbyDPH_value.Item0; break; case "0": sazbaDPH.Value = enum_DruhSazbyDPH_value.Item2; break; default: sazbaDPH.Value = enum_DruhSazbyDPH_value.Item2; break; } artikl.SazbyDPH = new S5DataArtiklSazbyDPH() { ArtiklDPH = new S5DataArtiklSazbyDPHArtiklDPH[] { new S5DataArtiklSazbyDPHArtiklDPH() { SazbaVstup = sazbaDPH, SazbaVystup = sazbaDPH, Zacatek = DateTime.Now.Date } } }; var mernaJednotka = d["MernaJednotka"].GetNoSpaces().RemoveDiacritics().ToLower(); var jednotkaID = S0_IDs.GetJednotkaID(mernaJednotka); artikl.SmazatOstatniJednotky = "True"; if (jednotkaID != null) { artikl.Jednotky = new S5DataArtiklJednotky() { HlavniJednotka = new S5DataArtiklJednotkyHlavniJednotka() { Jednotka_ID = jednotkaID, }, SeznamJednotek = new S5DataArtiklJednotkySeznamJednotek() { ArtiklJednotka = new S5DataArtiklJednotkySeznamJednotekArtiklJednotka[] { new S5DataArtiklJednotkySeznamJednotekArtiklJednotka() { Mnozstvi = "1", VychoziMnozstvi = "1", Jednotka_ID = jednotkaID, Kod = mernaJednotka, NedelitelneMnozstvi = d["MinFol"].GetBoolean() == "True" ? d["VFol"].GetNum() : null }, d["VFol"].GetNum() != "0" && d["VFol"].GetNum() != d["VKart"].GetNum() ? new S5DataArtiklJednotkySeznamJednotekArtiklJednotka() { Mnozstvi = "1", VychoziMnozstvi = d["VFol"].GetNum(), Jednotka_ID = S0_IDs.GetJednotkaID("fol"), Kod = "fol", ParentJednotka = new S5DataArtiklJednotkySeznamJednotekArtiklJednotkaParentJednotka() { Jednotka_ID = jednotkaID } } : null, d["VKart"].GetNum() != "0" ? new S5DataArtiklJednotkySeznamJednotekArtiklJednotka() { Mnozstvi = "1", VychoziMnozstvi = d["VKart"].GetNum(), Jednotka_ID = S0_IDs.GetJednotkaID("kar"), Kod = "kar", ParentJednotka = new S5DataArtiklJednotkySeznamJednotekArtiklJednotkaParentJednotka() { Jednotka_ID = jednotkaID }, } : null, d["VPal"].GetNum() != "0" ? new S5DataArtiklJednotkySeznamJednotekArtiklJednotka() { Mnozstvi = "1", VychoziMnozstvi = d["VPal"].GetNum(), Kod = "pal", Jednotka_ID = S0_IDs.GetJednotkaID("pal"), ParentJednotka = new S5DataArtiklJednotkySeznamJednotekArtiklJednotkaParentJednotka() { Jednotka_ID = jednotkaID } } : null, } } }; } var priznak = d["Priznak"].GetNoSpaces().ToUpper(); var priznakID = S0_IDs.GetProduktovyKlicID(priznak); var kodStr = d["KodZbozi"].GetNum(); var podkodStr = d["PodKodZbozi"].GetNum(); var webNezobrazovatExtra = d["Zobrazovat"].GetBooleanNegative(); var webNezobrazovat = kodStr == "" || kodStr == "0000" || podkodStr == "" || podkodStr == "0000" ? "True" : "False"; artikl.ProduktoveKlice = new S5DataArtiklProduktoveKlice() { DeleteItems = "1", ArtiklProduktovyKlic = new S5DataArtiklProduktoveKliceArtiklProduktovyKlic[] { priznakID != null ? new S5DataArtiklProduktoveKliceArtiklProduktovyKlic() { ProduktovyKlic_ID = priznakID, ProduktovyKlic = new S5DataArtiklProduktoveKliceArtiklProduktovyKlicProduktovyKlic() { ID = priznakID } } : null, webNezobrazovat == "True" ? new S5DataArtiklProduktoveKliceArtiklProduktovyKlic() { ProduktovyKlic_ID = S0_IDs.GetProduktovyKlicID("#"), ProduktovyKlic = new S5DataArtiklProduktoveKliceArtiklProduktovyKlicProduktovyKlic() { ID = S0_IDs.GetProduktovyKlicID("#") } } : null, webNezobrazovatExtra == "True" ? new S5DataArtiklProduktoveKliceArtiklProduktovyKlic() { ProduktovyKlic_ID = S0_IDs.GetProduktovyKlicID("@"), ProduktovyKlic = new S5DataArtiklProduktoveKliceArtiklProduktovyKlicProduktovyKlic() { ID = S0_IDs.GetProduktovyKlicID("@") } } : null, } }; if (priznak == "P") { // zbozi uvedene v priloze c. 5 - odpad a srot od roku 2012 (HADR 10kg) artikl.PreneseniDane = new S5DataArtiklPreneseniDane() { Kod = "5", PlatnostDo = new DateTime(9998, 12, 31) }; } artikl.Dodavatele = d["CisloDodavatele"].GetNum() != "00000" ? new S5DataArtiklDodavatele() { SeznamDodavatelu = new S5DataArtiklDodavateleSeznamDodavatelu() { DeleteItems = "1", ArtiklDodavatel = new S5DataArtiklDodavateleSeznamDodavateluArtiklDodavatel[] { new S5DataArtiklDodavateleSeznamDodavateluArtiklDodavatel() { DodavatelskeOznaceni = new S5DataArtiklDodavateleSeznamDodavateluArtiklDodavatelDodavatelskeOznaceni() { Kod = d["DodCislo"].GetAlfaNum() }, PosledniCena = d["NakupCena"].GetDecimal(), Firma = new S5DataArtiklDodavateleSeznamDodavateluArtiklDodavatelFirma() { Kod = S3_Adresar.GetDodID(d["CisloDodavatele"].GetNum()) }, Firma_ID = S3_Adresar.GetDodID(d["CisloDodavatele"].GetNum()) } } } } : null; var kod = _kategorie.Find(k => { return(k.Kod == d["KodZbozi"].GetNum()); }); var podkod = _kategorie.Find(k => { return(k.Kod == (d["KodZbozi"].GetNum() + d["PodKodZbozi"].GetNum())); }); if (kod != null && podkod != null) { artikl.Kategorie = string.Format( "{0}|{1}", kod.ID, podkod.ID ); } _artikly.Add(artikl); } }
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); } }
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); } }
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); } }
private void convertPohybV(SkladDataFile headers, SkladDataFile rows) { Console.WriteLine("Zpracovávám " + headers.Soubor.ToString()); string id = ""; foreach (var header in headers.Data) { var data = header.Items; var doc = new S5DataSkladovyDoklad(); doc.Nazev = GetNazev(data["CisloVydejky"].GetNum(), headers.Soubor); doc.ParovaciSymbol = GetID(data["CisloVydejky"].GetNum(), headers.Soubor); doc.DatumSkladovehoPohybu = doc.DatumZauctovani = doc.DatumSchvaleni = doc.DatumVystaveni = data["DatumVydeje"].GetDate().AddHours(5); doc.DatumSkladovehoPohybuSpecified = doc.DatumZauctovaniSpecified = doc.DatumSchvaleniSpecified = doc.DatumVystaveniSpecified = true; doc.CasSkladovehoPohybu = data["DatumVydeje"].GetDate().AddHours(5); doc.CasSkladovehoPohybuSpecified = true; doc.Poznamka = data["Upozorneni"].GetText() + XmlEnv.NewLine + XmlEnv.NewLine + header.ToString(); doc.Polozky = new S5DataSkladovyDokladPolozky(); doc.ProcentniZisk = header.GetProcentniZisk(); string firmaID = S0_IDs.GetFirmaID(S3_Adresar.GetOdbID(header.Items["CisloOdberatele"].GetNum())); doc.Firma_ID = doc.FakturacniAdresaFirma_ID = doc.PrijemceFaktury_ID = firmaID; doc.TypDokladu = vydejka; doc.ZapornyPohyb = "False"; if (header.GetCelkemFloat() < 0) { doc.ZapornyPohyb = "True"; } _doklady.Add(doc); } Console.WriteLine("Zpracovávám " + rows.Soubor.ToString()); int cisloPolozky = 0; string prevId = "", artiklID, skladID, katalog; var polozky = new List <S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu>(); enum_TypDokladu typDokladu = vydejka; S5DataSkladovyDoklad skladovyDoklad = null; foreach (var row in rows.Data) { var data = row.Items; id = GetID(data["CisloVydejky"].GetNum(), headers.Soubor); katalog = S3_Katalog.GetID(data["CisloKarty"].GetNum()); skladovyDoklad = find(id); typDokladu = skladovyDoklad != null ? skladovyDoklad.TypDokladu : vydejka; if (prevId != id) { if (prevId != "") { addRows(polozky, prevId); } polozky = new List <S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu>(); cisloPolozky = 0; prevId = id; } artiklID = S0_IDs.GetArtiklID(katalog); skladID = S0_IDs.GetSkladID("HL"); if (artiklID == null) { continue; } var pol = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu(); pol.CisloPolozky = (++cisloPolozky).ToString(); pol.Mnozstvi = data["Vydano"].GetNum().Replace("-", ""); pol.JednCena = data["ProdCena"].GetDecimal().Replace("-", ""); pol.Vratka = "False"; if (data["Vydano"].GetNum().StartsWith("-")) { pol.Vratka = "True"; } if (skladovyDoklad.ZapornyPohyb == "True") { if (data["Vydano"].GetNum().StartsWith("-")) { pol.Vratka = "False"; } else { pol.Vratka = "True"; } } pol.Nazev = data["NazevZbozi"].GetText(); pol.TypCeny = new enum_TypCeny() { Value = enum_TypCeny_value.Item0 }; pol.TypObsahu = new enum_TypObsahuPolozky() { Value = enum_TypObsahuPolozky_value.Item1 }; pol.SazbaDPH_ID = S0_IDs.GetSazbaDPHID(data["SazbaD"].GetNum()); pol.Vyrizeno = "True"; pol.ObsahPolozky = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladuObsahPolozky() { Artikl_ID = artiklID, Sklad_ID = skladID }; // na zaklade Zakazka_ID se budou filtrovat faktury (vynechaji se ty s cislem zakazky) pol.Zakazka_ID = data.ContainsKey("CisloZakazky") && data["CisloZakazky"].GetNum() != "00000" ? "True" : null; polozky.Add(pol); } addRows(polozky, id); }
private void convertKartyInv(SkladDataFile karty) { Console.WriteLine("Zpracovávám " + karty.Soubor.ToString()); var firstDay = new DateTime(DateTime.Now.Year, 1, 1); var doc = new S5DataSkladovyDoklad(); doc.Adresa = new S5DataSkladovyDokladAdresa() { Nazev = "Invetura zásob" }; doc.Nazev = GetNazev("00000", karty.Soubor); doc.ParovaciSymbol = GetID("00000", karty.Soubor); doc.Poznamka = "Inventura zásob, množství, kde bylo na 0, nastaveno na 1. K narovnání došlo dalším výdejem."; doc.DatumSkladovehoPohybu = doc.DatumZauctovani = doc.DatumSchvaleni = doc.DatumVystaveni = firstDay; doc.DatumSkladovehoPohybuSpecified = doc.DatumZauctovaniSpecified = doc.DatumSchvaleniSpecified = doc.DatumVystaveniSpecified = true; doc.CasSkladovehoPohybu = firstDay.AddHours(0); doc.CasSkladovehoPohybuSpecified = true; doc.Schvaleno = "True"; doc.TypDokladu = prijemka; int cisloPolozky = 0; var polozky = new List <S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu>(); string artiklID, skladID, katalog; foreach (var row in karty.Data) { var data = row.Items; katalog = S3_Katalog.GetID(data["CisloKarty"].GetNum()); artiklID = S0_IDs.GetArtiklID(katalog); skladID = S0_IDs.GetSkladID("HL"); if (artiklID == null) { continue; } var pol = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu(); pol.CisloPolozky = (++cisloPolozky).ToString(); pol.Vratka = "False"; pol.Mnozstvi = data["Pocet"].GetNum().Replace("-", ""); pol.JednCena = data["NakupCena"].GetDecimal().Replace("-", ""); if (data["Pocet"].GetNum().StartsWith("-")) { pol.Vratka = "True"; } if (pol.Mnozstvi == "0") { pol.Mnozstvi = "1"; } pol.TypObsahu = new enum_TypObsahuPolozky() { Value = enum_TypObsahuPolozky_value.Item1 }; pol.ObsahPolozky = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladuObsahPolozky() { Artikl_ID = artiklID, Sklad_ID = skladID }; pol.JednotkovaPorizovaciCena = pol.JednCena; pol.JednCenaCM = pol.JednCena; pol.Vyrizeno = "True"; polozky.Add(pol); } doc.Polozky = new S5DataSkladovyDokladPolozky() { PolozkaSkladovehoDokladu = polozky.ToArray() }; _doklady.Add(doc); // narovnani inventury, kde bylo k mnozstvi 0 prictena 1 // aby byla evidence o porizovacich cenach v money // "Inventura zasob" pokud je polozka 0, pricte 1 (prijemka) // "Invetura zásob - narovnání" pokud je polozka 0, vyda 1 (vydejka) doc = new S5DataSkladovyDoklad(); doc.Adresa = new S5DataSkladovyDokladAdresa() { Nazev = "Invetura zásob - narovnání" }; doc.Nazev = GetNazev("0000N", karty.Soubor); doc.ParovaciSymbol = GetID("0000N", karty.Soubor); doc.DatumSkladovehoPohybu = doc.DatumZauctovani = doc.DatumSchvaleni = doc.DatumVystaveni = firstDay; doc.DatumSkladovehoPohybuSpecified = doc.DatumZauctovaniSpecified = doc.DatumSchvaleniSpecified = doc.DatumVystaveniSpecified = true; doc.CasSkladovehoPohybu = firstDay.AddHours(1); doc.CasSkladovehoPohybuSpecified = true; doc.Schvaleno = "True"; doc.TypDokladu = vydejka; cisloPolozky = 0; polozky = new List <S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu>(); foreach (var row in karty.Data) { var data = row.Items; katalog = S3_Katalog.GetID(data["CisloKarty"].GetNum()); artiklID = S0_IDs.GetArtiklID(katalog); skladID = S0_IDs.GetSkladID("HL"); if (artiklID == null) { continue; } var pol = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladu(); pol.CisloPolozky = (++cisloPolozky).ToString(); pol.Mnozstvi = data["Pocet"].GetNum().Replace("-", ""); pol.JednCena = data["NakupCena"].GetDecimal().Replace("-", ""); if (pol.Mnozstvi == "0") { pol.Mnozstvi = "1"; } else { continue; } pol.TypObsahu = new enum_TypObsahuPolozky() { Value = enum_TypObsahuPolozky_value.Item1 }; pol.ObsahPolozky = new S5DataSkladovyDokladPolozkyPolozkaSkladovehoDokladuObsahPolozky() { Artikl_ID = artiklID, Sklad_ID = skladID }; pol.Vyrizeno = "True"; polozky.Add(pol); } doc.Polozky = new S5DataSkladovyDokladPolozky() { PolozkaSkladovehoDokladu = polozky.ToArray() }; _doklady.Add(doc); }