Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
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;
        }
Esempio n. 4
0
        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!");
            }
        }
Esempio n. 5
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;
        }
Esempio n. 6
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;
        }
Esempio n. 7
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;
        }
Esempio n. 8
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;
        }
Esempio n. 9
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;
        }
Esempio n. 10
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;
        }
Esempio n. 11
0
        private List <B2B_Results_RowItem> MergePriceListAndStockList(List <B2B_Results_RowItem> priceList, List <B2B_Results_RowItem> stockList)
        {
            List <B2B_Results_RowItem> mergedPriceAndStockLists = new List <B2B_Results_RowItem>();

            mergedPriceAndStockLists = priceList;

            for (int i = 0; i < priceList.Count; i++)
            {
                B2B_Results_RowItem equalRow = stockList.Find(ean => ean.Barcode.Equals(priceList[i].Barcode));

                if (equalRow != null)
                {
                    priceList[i].Kolicina   = equalRow.Kolicina;
                    priceList[i].LagerDatum = equalRow.LagerDatum.Date;
                }
                else
                {
                    priceList[i].Kolicina   = 0;
                    priceList[i].LagerDatum = DateTime.MinValue.Date;
                }
            }
            return(mergedPriceAndStockLists);
        }
Esempio n. 12
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);
        }
Esempio n. 13
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;
        }