private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.ewe.products ewe = new extNS.ewe.products(); var serializer = new XmlSerializer(typeof(extNS.ewe.products)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { ewe = (extNS.ewe.products)serializer.Deserialize(reader); } foreach (var item in ewe.product) { if (ModelHelper.Instance.IsValidBarcode(item.ean)) { /* * 4. EWE * - price_rebate (NNC) * - recommended_retail_price -> * * if (recommended_retail_price) PMC == recommended_retail_price * else { * PMC = price_rebate *1.2 * profile.koefMarze; * } * Ewe.koefMarze = 1.1; */ // Kolicina - xml ne sadrži podatke o količini, podrazumeva se da su u xml-u izlistani samo artikli koji su raspoloživi int kolicina = 1; // NNC bool isCena = double.TryParse(item.price_rebate, System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out double nnc); if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } // PMC bool isPmc = double.TryParse(item.recommended_retail_price, out double pmc); //pmc = ( isPmc && pmc > 0 ) ? pmc : nnc * decimal.Multiply( 1.2m, konfigDobavljaca.KeoficijentMarze ); B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.ean, Kolicina = kolicina, NNC = nnc, PMC = 0, //TO DO: kalkulacija PMC DatumUlistavanja = DateTime.Now, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = DateTime.Now, LagerDatum = DateTime.Now }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.bosch.izdelki bosch = new extNS.bosch.izdelki(); var serializer = new XmlSerializer(typeof(extNS.bosch.izdelki)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { bosch = (izdelki)serializer.Deserialize(reader); } foreach (var item in bosch.izdelek) { if (ModelHelper.Instance.IsValidBarcode(item.ean.ToString())) { /** * cena -> Vaša nabavna cena. * ppc -> Tako zvana cena za trgovaca. Cena koja je osnova za rabate. Nadam se da imate mogućnost koristiti ovo * zaloga -> Lager; stanje zalihe. * davek -> % poreza. */ bool isnabavnaCena = double.TryParse(item.cena, out double nabavnaCena); bool isPpc = double.TryParse(item.ppc, out double ppc); if (!konfigDobavljaca.Manualno) { ppc = ModelHelper.Instance.CalculateNNC(ppc, konfigDobavljaca); } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.ean.ToString().TrimEnd(), Kolicina = item.zaloga, NNC = ppc, PMC = 0, //TO DO: kalkulacija PMC DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.erg.ITEMS erg = new extNS.erg.ITEMS(); var serializer = new XmlSerializer(typeof(extNS.erg.ITEMS)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { erg = (ITEMS)serializer.Deserialize(reader); } foreach (var item in erg.ITEM) { if (ModelHelper.Instance.IsValidBarcode(item.barcode)) { // NNC double nnc = Convert.ToDouble(item.price); if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } //int kolicina = 0; bool isKolicina = Int32.TryParse(item.stock, out int kolicina); B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.barcode.TrimEnd(), Kolicina = kolicina, NNC = nnc, PMC = 0, //TO DO: kalkulacija PMC DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.gorenje.Root gorenjeCenovnik = new Root(); var serializer = new XmlSerializer(typeof(extNS.gorenje.Root)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { gorenjeCenovnik = (Root)serializer.Deserialize(reader); } foreach (var item in gorenjeCenovnik.Row) { if (ModelHelper.Instance.IsValidBarcode(item.barcode.ToString())) { // Količina = 0, postoji xml sa lagerom int kolicina = 0; // NNC double nnc = Convert.ToDouble(item.NNC); if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.barcode.ToString().TrimEnd(), Kolicina = kolicina, NNC = nnc, PMC = item.PMC, DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.orbico.Items orbicoCenovnik = new Items(); var serializer = new XmlSerializer(typeof(extNS.orbico.Items)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { orbicoCenovnik = (Items)serializer.Deserialize(reader); } foreach (var item in orbicoCenovnik.Item) { if (ModelHelper.Instance.IsValidBarcode(item.ean.ToString().TrimEnd())) { // NNC bool isPrice = double.TryParse(item.price, out double nnc); if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.ean.ToString().TrimEnd(), Kolicina = item.qty, NNC = nnc, PMC = 0, //TO DO: kalkulacija PMC DatumUlistavanja = DateTime.Now, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.alcaLager.Root alcaLager = new Root(); var serializer = new XmlSerializer(typeof(extNS.alcaLager.Root)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { alcaLager = (Root)serializer.Deserialize(reader); } foreach (var item in alcaLager.Row) { if (ModelHelper.Instance.IsValidBarcode(item.barcode.ToString().TrimEnd())) { // NNC - nije potrebna, učitava se samo lager //double nnc = Convert.ToDouble(item.NNC); //if (!konfigDobavljaca.Manualno) //{ // nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); //} B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.barcode.ToString().TrimEnd(), Kolicina = item.kolicina, NNC = 0, PMC = 0, DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.AlfaPlamCenovnik.Root alfaPlamCenovnik = new Root(); var serializer = new XmlSerializer(typeof(extNS.AlfaPlamCenovnik.Root)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { alfaPlamCenovnik = (Root)serializer.Deserialize(reader); } foreach (var item in alfaPlamCenovnik.Row) { if (ModelHelper.Instance.IsValidBarcode(item.BARCODE.ToString().TrimEnd())) { double nnc = item.NNC; if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.BARCODE.ToString().TrimEnd(), Kolicina = item.KOLICINA, NNC = nnc, PMC = item.PMC, DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
public LoadedXmlDocument LoadXmlDocumentForSupplier(KonfigDobavljaca konfigDobavljaca, string requestUriParam) { LoadedXmlDocument loadedXmlDocument = new LoadedXmlDocument(); XmlDocument xmlDocument = new XmlDocument(); StreamReader reader = null; string requestUri = CreateRequestUri(konfigDobavljaca, requestUriParam); try { /** FTP request - get xml file */ FtpWebRequest request = (FtpWebRequest)WebRequest.Create(requestUri); request.Credentials = new NetworkCredential(konfigDobavljaca.Username, konfigDobavljaca.Password); request.KeepAlive = false; request.UseBinary = true; request.UsePassive = true; request.Method = WebRequestMethods.Ftp.DownloadFile; // FTP response FtpWebResponse ftpResponse = (FtpWebResponse)request.GetResponse(); // Stream and Stream Reader Stream responseStream = ftpResponse.GetResponseStream();; string readerResult; using (reader = new StreamReader(responseStream)) { readerResult = reader.ReadToEnd(); } // Loaded Xml document from xml file xmlDocument.LoadXml(readerResult); // output object - xml document and status description loadedXmlDocument.LoadedXmlDocumentItem.LoadXml(readerResult); loadedXmlDocument.StatusDescription = ftpResponse.StatusDescription; // transfer completed //var exitMessage = ftpResponse.ExitMessage; // dispose ftp reponse if (ftpResponse != null) { ftpResponse.Close(); } /** Ftp request - get xml file details */ FtpWebRequest requestFileDetails = (FtpWebRequest)WebRequest.Create(requestUri); requestFileDetails.Credentials = new NetworkCredential(konfigDobavljaca.Username, konfigDobavljaca.Password); requestFileDetails.KeepAlive = false; requestFileDetails.UseBinary = true; requestFileDetails.UsePassive = true; requestFileDetails.Method = WebRequestMethods.Ftp.GetDateTimestamp; FtpWebResponse ftpFileDetailsResponse = (FtpWebResponse)requestFileDetails.GetResponse(); // output object - loaded xml file details loadedXmlDocument.XmlLastModified = ftpFileDetailsResponse.LastModified; // dispose ftp response object if (ftpFileDetailsResponse != null) { ftpFileDetailsResponse.Close(); } // output result return(loadedXmlDocument); } catch (Exception xcp) { var msg = xcp.Message; } return(loadedXmlDocument); }
//XMLHelper() //{ // // initialize here //} public List <B2B_Results_RowItem> GetB2B_Results_RowItems_PerSupplier(KonfigDobavljaca konfigDobavljaca) { // učitavanje xml podataka za dobavljača List <B2B_Results_RowItem> b2B_Results_RowItems = new List <B2B_Results_RowItem>(); switch (konfigDobavljaca.WebProtokol.TrimEnd().ToLower()) { case "ftp": { LoadedXmlDocument supplierXmlDocument = new LoadedXmlDocument(); // Cenovnik List <B2B_Results_RowItem> priceList = null; if (!(string.IsNullOrWhiteSpace(konfigDobavljaca.ModelCenovnik))) { priceList = new List <B2B_Results_RowItem>(); supplierXmlDocument = FTPHelper.Instance.LoadXmlDocumentForSupplier(konfigDobavljaca, konfigDobavljaca.CenovnikFilename); // ovo koristi glavna forma da bi imali Status Description u statusima StatusDescription = supplierXmlDocument.StatusDescription; priceList = XMLHelper.Instance.GetB2B_ResultsFromXmlDocument(konfigDobavljaca, konfigDobavljaca.ModelCenovnik, supplierXmlDocument); b2B_Results_RowItems = priceList; } // Lager List <B2B_Results_RowItem> stockList = null; if (!(string.IsNullOrWhiteSpace(konfigDobavljaca.ModelLager))) { stockList = new List <B2B_Results_RowItem>(); LoadedXmlDocument loadedStockList = new LoadedXmlDocument(); loadedStockList = FTPHelper.Instance.LoadXmlDocumentForSupplier(konfigDobavljaca, konfigDobavljaca.LagerFilename); // ovo koristi glavna forma da bi imali Status Description u statusima StatusDescription = loadedStockList.StatusDescription; stockList = XMLHelper.Instance.GetB2B_ResultsFromXmlDocument(konfigDobavljaca, konfigDobavljaca.ModelLager, loadedStockList); } // Povezivanje Cenovnika sa lagerom u jedinstvenu listu if (priceList != null && stockList != null) { b2B_Results_RowItems = MergePriceListAndStockList(priceList, stockList); } return(b2B_Results_RowItems); } case "http": { LoadedXmlDocument supplierXmlDocument = new LoadedXmlDocument(); // Cenovnik i lager List <B2B_Results_RowItem> priceList = new List <B2B_Results_RowItem>(); supplierXmlDocument = HTTPSHelper.Instance.LoadXmlDocWithHttpRequest(konfigDobavljaca); // ovo koristi glavna forma da bi imali Status Description u statusima StatusDescription = supplierXmlDocument.StatusDescription; priceList = Instance.GetB2B_ResultsFromXmlDocument(konfigDobavljaca, konfigDobavljaca.ModelCenovnik, supplierXmlDocument); b2B_Results_RowItems = priceList; return(b2B_Results_RowItems); } case "webservice": { switch (konfigDobavljaca.ModelCenovnik) { case "PIN_CENOVNIK": { /** PIN CLient */ StockWebserviceClient pinServiceClient = new StockWebserviceClient("StockWebservicePort"); UInt32 password = 0; try { password = Convert.ToUInt32(konfigDobavljaca.Password); } catch (Exception e) { throw new Exception("Greška u parametru za pristup servisu!\r\n" + e.Message); } //b2BWebServiceDAO pinResults = pinServiceClient.getAllItems("c794398a-732c-4d5e-b6a4-783eb1a268c0", 4, false); // proveriti zasto true param izbacuje error ! b2BWebServiceDAO pinResults = pinServiceClient.getAllItems(konfigDobavljaca.Username, password, false); // proveriti zasto true param izbacuje error ! pinServiceClient.Close(); /** PIN Items*/ List <item> pinItems = pinResults.item.ToList(); if (pinItems.Count != 0) { for (int i = 0; i < pinItems.Count; i++) { if (ModelHelper.Instance.IsValidBarcode(pinItems[i].ean)) { B2B_Results_RowItem xmlRezultat = new B2B_Results_RowItem() { Barcode = pinItems[i].ean, Kolicina = (int)pinItems[i].stock, NNC = pinItems[i].price_with_discounts, PMC = pinItems[i].retail_price, DatumUlistavanja = DateTime.Now, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = DateTime.Now, LagerDatum = DateTime.Now }; b2B_Results_RowItems.Add(xmlRezultat); } } return(b2B_Results_RowItems); } } break; case "COMTRADE": { // Napravljen je poseban utility koji se nalazi na elbraco cloud-u. // Ovaj utility preuzima podatke sa CT B2B i kopira generisani xml fajl na Elbraco Ftp // u folder 'ftp://ftp.elbraco.rs/elcomtradeCenovnik' } break; default: break; } } break; default: break; } return(b2B_Results_RowItems); }
public List <B2B_Results_RowItem> GetB2B_ResultsFromXmlDocument(KonfigDobavljaca konfigDobavljaca, string model, LoadedXmlDocument ucitaniXmlDocument) { /** Dodavanje xml u jedinstvenu listu rezultata učitanih sa FTP */ List <B2B_Results_RowItem> b2B_Results_RowItems = new List <B2B_Results_RowItem>(); switch (model) { case "EWE_CENOVNIK": extNS.ewe.EWE_CENOVNIK eweCenovnik = new extNS.ewe.EWE_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = eweCenovnik.b2B_Results_RowItems); case "ERG_CENOVNIK": extNS.erg.ERG_CENOVNIK ergCenovnik = new extNS.erg.ERG_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = ergCenovnik.b2B_Results_RowItems); case "ZOMIMPEX_CENOVNIK": extNS.zomimpex.ZOMIMPEX_CENOVNIK zomCenovnik = new extNS.zomimpex.ZOMIMPEX_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = zomCenovnik.b2B_Results_RowItems); case "BOSCH_CENOVNIK": extNS.bosch.BOSCH_CENOVNIK boschCenovnik = new extNS.bosch.BOSCH_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = boschCenovnik.b2B_Results_RowItems); case "GORENJE_CENOVNIK": extNS.gorenje.GORENJE_CENOVNIK gorenjeCenovnik = new extNS.gorenje.GORENJE_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = gorenjeCenovnik.b2B_Results_RowItems); case "GORENJE_LAGER": extNS.gorenjeLager.GORENJE_LAGER gorenjeLager = new extNS.gorenjeLager.GORENJE_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = gorenjeLager.b2B_Results_RowItems); case "ALFAPLAM_CENOVNIK": extNS.AlfaPlamCenovnik.ALFAPLAM_CENOVNIK alfaPlamCenovnik = new extNS.AlfaPlamCenovnik.ALFAPLAM_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = alfaPlamCenovnik.b2B_Results_RowItems); case "MBS_CENOVNIK": extNS.MbsCenovnik.MBS_CENOVNIK mbsCenovnik = new extNS.MbsCenovnik.MBS_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = mbsCenovnik.b2B_Results_RowItems); case "ACRMOBILE_CENOVNIK": extNS.acrmobile.ACRMOBILE_CENOVNIK acrMobileCenovnik = new extNS.acrmobile.ACRMOBILE_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = acrMobileCenovnik.b2B_Results_RowItems); case "ALCA_CENOVNIK": extNS.alca.ALCA_CENOVNIK alcaCenovnik = new extNS.alca.ALCA_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = alcaCenovnik.b2B_Results_RowItems); case "ALCA_LAGER": extNS.alcaLager.ALCA_LAGER alcaLager = new extNS.alcaLager.ALCA_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = alcaLager.b2B_Results_RowItems); case "CANDY_CENOVNIK": extNS.candy.CANDY_CENOVNIK candyCenovnik = new extNS.candy.CANDY_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = candyCenovnik.b2B_Results_RowItems); case "CANDY_LAGER": extNS.candyLager.CANDY_LAGER candyLager = new extNS.candyLager.CANDY_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = candyLager.b2B_Results_RowItems); case "220B_CENOVNIK": extNS._220BCenovnik._220B_CENOVNIK _220BCenovnik = new extNS._220BCenovnik._220B_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = _220BCenovnik.b2B_Results_RowItems); case "220B_LAGER": extNS._220BLager._220B_LAGER _220BLager = new extNS._220BLager._220B_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = _220BLager.b2B_Results_RowItems); case "MKA_CENOVNIK": extNS.mkaCenovnik.MKA_CENOVNIK mkaCenovnik = new extNS.mkaCenovnik.MKA_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = mkaCenovnik.b2B_Results_RowItems); case "MISON_CENOVNIK": extNS.mison.MISON_CENOVNIK misonCenovnik = new extNS.mison.MISON_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = misonCenovnik.b2B_Results_RowItems); case "MISON_LAGER": extNS.misonLager.MISON_LAGER misonLager = new extNS.misonLager.MISON_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = misonLager.b2B_Results_RowItems); case "HUAWEI_CENOVNIK": extNS.huawei.HUAWEI_CENOVNIK huaweiCenovnik = new extNS.huawei.HUAWEI_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = huaweiCenovnik.b2B_Results_RowItems); case "ROAMING_CENOVNIK": extNS.roaming.ROAMING_CENOVNIK roamingCenovnik = new extNS.roaming.ROAMING_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = roamingCenovnik.b2B_Results_RowItems); case "TANDEM_CENOVNIK": extNS.tandem.TANDEM_CENOVNIK tandemCenovnik = new extNS.tandem.TANDEM_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = tandemCenovnik.b2B_Results_RowItems); case "TANDEM_LAGER": extNS.tandemLager.TANDEM_LAGER tandemLager = new extNS.tandemLager.TANDEM_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = tandemLager.b2B_Results_RowItems); case "WHIRLPOOL_CENOVNIK": extNS.whirlpoolCenovnik.WHIRLPOOL_CENOVNIK whirlpoolCenovnik = new extNS.whirlpoolCenovnik.WHIRLPOOL_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = whirlpoolCenovnik.b2B_Results_RowItems); case "WHIRLPOOL_LAGER": extNS.whirlpoolLager.WHIRLPOOL_LAGER whirlpoolLager = new extNS.whirlpoolLager.WHIRLPOOL_LAGER(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = whirlpoolLager.b2B_Results_RowItems); case "ORBICO_CENOVNIK": extNS.orbico.ORBICO_CENOVNIK orbicoCenovnik = new extNS.orbico.ORBICO_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = orbicoCenovnik.b2B_Results_RowItems); case "COMTRADE_CENOVNIK": extNS.comtrade.COMTRADE_CENOVNIK comtradeCenovnik = new extNS.comtrade.COMTRADE_CENOVNIK(konfigDobavljaca, ucitaniXmlDocument); return(b2B_Results_RowItems = comtradeCenovnik.b2B_Results_RowItems); default: return(b2B_Results_RowItems); } }
public LoadedXmlDocument LoadXmlDocWithHttpRequest(KonfigDobavljaca konfigDobavljaca) { // xml document u koji se deserijalizuju učitani podaci XmlDocument xmlDocument = new XmlDocument(); // model u koji se smeštaju deserijaliovani xml document i ostali detalji transfera LoadedXmlDocument loadedXmlDocFromHttpRequest = new LoadedXmlDocument(); // http putanja sa koje se učitavaju podaci var xmlPath = konfigDobavljaca.URL; // Get XML from http request try { using (WebClient webClient = new WebClient()) { // download xml-a kao stringa string downloadResult; downloadResult = webClient.DownloadString(xmlPath); // rezultat učitavanja strema reader-a string readerResults = string.Empty; try { using (Stream stream = webClient.OpenRead(xmlPath)) { using (StreamReader reader = new StreamReader(stream)) { readerResults = reader.ReadToEnd(); xmlDocument.LoadXml(readerResults); // loaded xml document loadedXmlDocFromHttpRequest.LoadedXmlDocumentItem.LoadXml(readerResults); // last modifid date is set to current date loadedXmlDocFromHttpRequest.XmlLastModified = DateTime.Now.Date; // Status Description is set to Loaded if loaded xml has child nodes if (loadedXmlDocFromHttpRequest.LoadedXmlDocumentItem.HasChildNodes) { loadedXmlDocFromHttpRequest.StatusDescription = "Transfer completed."; } return(loadedXmlDocFromHttpRequest); } } } catch (Exception) { throw; } } } catch (WebException ex) { var statusCode = ((HttpWebResponse)ex.Response).StatusCode; loadedXmlDocFromHttpRequest.StatusDescription = statusCode.ToString(); return(loadedXmlDocFromHttpRequest); } }
private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS.zomimpex.Artikl zomImpex = new extNS.zomimpex.Artikl(); var serializer = new XmlSerializer(typeof(extNS.zomimpex.Artikl)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { zomImpex = (extNS.zomimpex.Artikl)serializer.Deserialize(reader); } foreach (var item in zomImpex.InformacijeArtikla) { if (ModelHelper.Instance.IsValidBarcode(item.Bar_kod)) { /* * ZOM - ako je inStock TRue -> kolicina = 5 * ako ima akcijskaCena onda NNC = akcijskaCena else NNC = cena * PMC = NNC * 1.2 * koefMarze */ // količina int kolicina = 0; bool isKolicina = Int32.TryParse(item.Količina, out kolicina); kolicina = (isKolicina && kolicina > 0) ? kolicina : 5; // Akcijska cena double akcijskaCena = 0; bool isAkcijska = double.TryParse(item.AkcijskaCena, out akcijskaCena); // NNC double nnc = 0; nnc = (isAkcijska && akcijskaCena > 0) ? akcijskaCena : Convert.ToDouble(item.Cena); // PMC double pmc = 0; //pmc = nnc * decimal.Multiply( 1.2m, konfigDobavljaca.KeoficijentMarze); if (!konfigDobavljaca.Manualno) { // TODO: kalkulacija NNC i PMC, kako? } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.Bar_kod, Kolicina = kolicina, NNC = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca), PMC = pmc, //TO DO: kalkulacija PMC DatumUlistavanja = DateTime.Now, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = DateTime.Now, LagerDatum = DateTime.Now }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }