Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
        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;
        }
Exemple #5
0
        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;
        }
Exemple #6
0
        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;
        }
Exemple #7
0
        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;
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        //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);
        }
Exemple #10
0
        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);
            }
        }
Exemple #11
0
        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);
            }
        }
Exemple #12
0
        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;
        }