private void GenerisiPodatkeZaPrikaz(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { List <B2B_Results_RowItem> podaciZaPrikaz = new List <B2B_Results_RowItem>(); extNS._220BLager.Root _220BLager = new Root(); var serializer = new XmlSerializer(typeof(extNS._220BLager.Root)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { _220BLager = (Root)serializer.Deserialize(reader); } foreach (var item in _220BLager.Row) { if (ModelHelper.Instance.IsValidBarcode(item.barcode.ToString().TrimEnd())) { B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.barcode.ToString().TrimEnd(), Kolicina = item.kolicina, NNC = 0, // postoji cenovnik PMC = 0, // postoji cenonvnik DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, 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>(); Dokument mkaCenovnik = new Dokument(); var serializer = new XmlSerializer(typeof(extNS.mkaCenovnik.Dokument)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { mkaCenovnik = (Dokument)serializer.Deserialize(reader); } foreach (var item in mkaCenovnik.Stavke) { if (ModelHelper.Instance.IsValidBarcode(item.BarKod.ToString().TrimEnd())) { B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.BarKod.ToString().TrimEnd(), Kolicina = (int)item.Kolicina, NNC = ModelHelper.Instance.CalculateNNC(Convert.ToDouble(item.CenaVP), konfigDobavljaca), PMC = Convert.ToDouble(item.CenaMP), DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; }
public KonfigDobavljaca GetSingleSupplierConfigurationByName(string supplierName) { KonfigDobavljaca konfiguracijaDobavljaca = new KonfigDobavljaca(); if (string.IsNullOrEmpty(supplierName)) { return(null); } try { using (KrolerContext db = new KrolerContext()) { konfiguracijaDobavljaca = db.KonfigDobavljaca .Where(d => d.Naziv.Equals(supplierName)) .FirstOrDefault(); } } catch (Exception e) { throw new Exception("Greška: GetKonfigDobavljaca()\r\n" + e.Message); } return(konfiguracijaDobavljaca); }
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.comtrade.ArrayOfCTPRODUCT comtrade = new extNS.comtrade.ArrayOfCTPRODUCT(); var serializer = new XmlSerializer(typeof(extNS.comtrade.ArrayOfCTPRODUCT)); using (XmlReader reader = new XmlNodeReader(ucitaniXmlDocument.LoadedXmlDocumentItem)) { comtrade = (extNS.comtrade.ArrayOfCTPRODUCT)serializer.Deserialize(reader); } double kursEvra = 1; foreach (var item in comtrade.CTPRODUCT) { if (ModelHelper.Instance.IsValidBarcode(item.BARCODE.ToString())) { bool isNnc = double.TryParse(item.PRICE, out double nnc); bool isPmc = double.TryParse(item.RETAILPRICE, out double pmc); bool isExchangeRate = double.TryParse(item.EUR_ExchangeRate, out double exchangeRate); if (isExchangeRate && kursEvra != exchangeRate) { kursEvra = exchangeRate; } if (!konfigDobavljaca.Manualno) { nnc = ModelHelper.Instance.CalculateNNC(nnc, konfigDobavljaca); } B2B_Results_RowItem podatakZaPrikaz = new B2B_Results_RowItem() { Barcode = item.BARCODE.ToString().TrimEnd(), Kolicina = item.QTTYINSTOCK, NNC = nnc, PMC = pmc, DatumUlistavanja = DateTime.Today, PrimarniDobavljac = konfigDobavljaca.Naziv, CenovnikDatum = ucitaniXmlDocument.XmlLastModified, LagerDatum = ucitaniXmlDocument.XmlLastModified }; podaciZaPrikaz.Add(podatakZaPrikaz); } } b2B_Results_RowItems = podaciZaPrikaz; // postavi kurs evra za dobavljača: konfigDobavljaca.KursEvra = kursEvra; if (!ModelHelper.Instance.SaveSupplierConfigs(konfigDobavljaca)) { throw new Exception($"Kurs evra za {konfigDobavljaca.Naziv} nije snimljen!"); } }
public frmMarzeRabatiDobavljaca(KonfigDobavljaca konfigDobavljaca) { /** Dodavanje novog rabata i marže */ InitializeComponent(); // sprečava implicitnu validaciju kontrole kada izgubi fokus AutoValidate = System.Windows.Forms.AutoValidate.Disable; KonfigDobavljacaProp = konfigDobavljaca; MarzaDobavljacaRabatProp = null; }
public string CreateRequestUri(KonfigDobavljaca konfigDobavljaca, string fileName) { // requestUriString = URL + CenovnikFilename / LagerFilename string requestUriString = string.Empty; if (konfigDobavljaca != null) { requestUriString = konfigDobavljaca.URL + "/" + fileName; } return(requestUriString); }
public frmKonfigDobavljaca(KonfigDobavljaca _konfigDobavljaca) { InitializeComponent(); if (_konfigDobavljaca != null) { KonfigDobavljacaProp = _konfigDobavljaca; MapPropsToControls(); } else { KonfigDobavljacaProp = null; } }
public double CalculateNNC(double unnc, KonfigDobavljaca konfigDobavljaca) { double calculatedNNC = 0; double kursEvra = konfigDobavljaca.KursEvra; double rabat = 1 - (konfigDobavljaca.RabatProc / 100); string _stopaPdv = ConfigurationManager.AppSettings["stopaPDV"]; if (double.TryParse(_stopaPdv, out double koefPDV)) { koefPDV = 1 + (koefPDV / 100); } calculatedNNC = Convert.ToDouble(unnc * rabat * koefPDV * kursEvra); return(calculatedNNC); }
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; }
public frmMarzeRabatiDobavljaca(KonfigDobavljaca konfigDobavljaca, int idOdabraneMarze) { /** Izmena postojećeg rabata i marže */ InitializeComponent(); IdOdabraneMarze = idOdabraneMarze; KonfigDobavljacaProp = konfigDobavljaca; MarzaDobavljacaRabatProp = new MarzeDobavljaca(); MarzaDobavljacaRabatProp = DBHelper.Instance.GetSingleSupplierMarginByMarginId(idOdabraneMarze); if (MarzaDobavljacaRabatProp == null) { MessageBox.Show("Info", "Odaberi podatak za izmenu."); } MapPropsToControls(); }
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.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.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; }
/** dbo.KonfigDobavljaca */ public KonfigDobavljaca GetSingleSupplierConfigurationById(int supplierId) { KonfigDobavljaca konfiguracijaDobavljaca = new KonfigDobavljaca(); try { using (KrolerContext db = new KrolerContext()) { konfiguracijaDobavljaca = db.KonfigDobavljaca .Where(d => d.Id == supplierId) .FirstOrDefault(); } } catch (Exception e) { throw new Exception("Greška: GetKonfigDobavljaca()\r\n" + e.Message); } return(konfiguracijaDobavljaca); }
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 bool SaveSupplierConfigs(KonfigDobavljaca konfigDobavljaca) { if (konfigDobavljaca != null) { using (KrolerContext db = new KrolerContext()) { try { db.Entry(konfigDobavljaca).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(true); } catch (Exception) { return(false); } } } return(false); }
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); } }
//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 _220B_LAGER(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { b2B_Results_RowItems = new List <B2B_Results_RowItem>(); GenerisiPodatkeZaPrikaz(konfigDobavljaca, ucitaniXmlDocument); }
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); } }
private LoadedXmlStatus SetXmlLoadingStatus(int redniBroj, bool isLoaded, int numberOfRecords, string statusDescription, KonfigDobavljaca konfigDobavljaca) { // status učitavanja LoadedXmlStatus status = new LoadedXmlStatus() { Number = redniBroj, Naziv = konfigDobavljaca.Naziv, URL = konfigDobavljaca.URL, NumberOfRecords = numberOfRecords, IsLoaded = isLoaded, StatusDescription = statusDescription, DataSource = konfigDobavljaca.WebProtokol, konfigDobavljaca = konfigDobavljaca }; return(status); }
public COMTRADE_CENOVNIK(KonfigDobavljaca konfigDobavljaca, LoadedXmlDocument ucitaniXmlDocument) { b2B_Results_RowItems = new List <B2B_Results_RowItem>(); GenerisiPodatkeZaPrikaz(konfigDobavljaca, ucitaniXmlDocument); }
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); }
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; }