コード例 #1
0
 public bool MatchArtikal(artikal a, artikal b)
 {
     if (a.barkod != null && a.barkod == b.barkod || a.naziv == b.naziv)
     {
         return(true);
     }
     else
     {
         var awords = a.naziv.Split(" ");
         var bwords = b.naziv.Split(" ");
         if (awords.Length == bwords.Length)
         {
             foreach (var wa in awords)
             {
                 if (bwords.FirstOrDefault(w => w.ToLower()
                                           .Replace("š", "s").Replace("č", "c").Replace("ć", "c").Replace("ž", "z").Replace("đ", "d")
                                           == wa.ToLower()
                                           .Replace("š", "s").Replace("č", "c").Replace("ć", "c").Replace("ž", "z").Replace("đ", "d")
                                           ) == null)
                 {
                     return(false);
                 }
             }
             duplicateByPermuation++;
             return(true);
         }
         return(false);
     }
 }
コード例 #2
0
        public ActionResult Delete(int?id)
        {
            artikal artikal = db.artikals.Find(id);

            artikal.aktivan         = false;
            db.Entry(artikal).State = EntityState.Modified;
            db.SaveChanges();
            return(new EmptyResult());
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "idartikal,naziv,cena,jm,kolnastanju")] artikal artikal)
 {
     if (ModelState.IsValid)
     {
         artikal.aktivan         = true;
         db.Entry(artikal).State = EntityState.Modified;
         db.SaveChanges();
         TempData["status"] = "edited";
         return(RedirectToAction("Index"));
     }
     return(PartialView("FormEdit", artikal));
 }
コード例 #4
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            artikal artikal = db.artikals.Find(id);

            if (artikal == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("FormEdit", artikal));
        }
コード例 #5
0
        public IActionResult UpdateArtikal(artikal artikal)
        {
            var art = _dbContext.artikal.FirstOrDefault(p => p.sifra == artikal.sifra);

            if (art != null)
            {
                art.aktivan = artikal.aktivan;
                _dbContext.SaveChanges();
                return(Ok(art));
            }
            else
            {
                return(NotFound());
            }
        }
コード例 #6
0
        public override async Task <List <artikal> > SyncAsync()
        {
            List <artikal> artikli = new List <artikal>();

            CTProductsInStockSoapClient cl = new CTProductsInStockSoapClient(EndpointConfiguration.CTProductsInStockSoap);

            var result = await cl.GetCTProducts_WithAttributesAsync(Config.Username, Config.Password, null, null, null).ConfigureAwait(false);

            foreach (var res in result.Body.GetCTProducts_WithAttributesResult)
            {
                artikal a = new artikal()
                {
                    prioritet = this.Config.Priority
                };
                a.dobavljac_sifra = res.CODE;
                a.dobavljac       = this.Config.Description;
                a.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + a.dobavljac_sifra;
                a.naziv           = res.NAME;
                //if (a.sifra == "002_NV70K1340BB/OL")
                //{
                //    int tt = 0;
                //}
                decimal cijena;
                decimal.TryParse(res.PRICE.Replace(",", "."), System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                a.cijena_sa_rabatom = cijena;
                a.dostupnost        = res.QTTYINSTOCK;
                a.slike             = res.IMAGE_URLS;
                a.vrste             = new List <string>()
                {
                    res.PRODUCTGROUPCODE
                };
                decimal kolicina;
                decimal.TryParse(res.QTTYINSTOCK, System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out kolicina);
                a.barkod    = res.BARCODE.Trim() != ""?res.BARCODE.Trim() : null;
                a.brend     = res.MANUFACTURER.Trim() != ""?res.MANUFACTURER.Trim() : null;
                a.garancija = res.WARRANTY.Trim() != "" ? res.WARRANTY.Trim() : null;
                a.opis      = res.SHORT_DESCRIPTION.Trim() != "" ? res.SHORT_DESCRIPTION.Trim() : null;
                artikli.Add(a);
            }

            return(artikli);
        }
コード例 #7
0
        public ActionResult Create([Bind(Include = "naziv,cena,jm,kolnastanju")] artikal artikal)
        {
            if (ModelState.IsValid)
            {
                List <artikal> artikli = db.artikals.Where(x => x.naziv == artikal.naziv && x.aktivan == true).ToList();
                if (artikli.Count > 0)
                {
                    TempData["status"] = "nameConflict";
                }

                else
                {
                    artikal.aktivan = true;
                    db.artikals.Add(artikal);
                    TempData["status"] = "added";
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }

            return(PartialView("FormCreate", artikal));
        }
コード例 #8
0
        public override async Task <List <artikal> > SyncAsync()
        {
            List <artikal> artikli = new List <artikal>();
            artikal        artikal = null;

            StreamReader sr      = new StreamReader(Config.Path);
            var          content = sr.ReadToEnd();

            content = content.Replace("&", "&amp;");
            sr.Close();

            StreamWriter sw = new StreamWriter(Config.Path);

            sw.Write(content);
            sw.Close();

            using (Stream s = new FileStream(Config.Path, FileMode.Open))
            {
                using (
                    XmlTextReader reader = new XmlTextReader(s)
                    )
                {
                    while (reader.Read())
                    {
                        switch (reader.NodeType)
                        {
                        case XmlNodeType.Element:     // The node is an element.
                        {
                            if (reader.Name == "Red")
                            {
                                artikal = new artikal()
                                {
                                    dobavljac = this.Config.Description, prioritet = this.Config.Priority
                                };
                                artikli.Add(artikal);
                            }
                            if (reader.Name == "Id")
                            {
                                artikal.dobavljac_sifra = reader.ReadInnerXml().Trim();
                                artikal.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                            }
                            if (reader.Name == "Artikal")
                            {
                                artikal.naziv = reader.ReadInnerXml().Trim();
                            }

                            if (reader.Name == "BARKOD")
                            {
                                artikal.barkod = reader.ReadInnerXml().Trim();
                                artikal.barkod = artikal.barkod.Trim() == "" ? null : artikal.barkod.Trim();
                            }

                            if (reader.Name == "OPIS")
                            {
                                artikal.opis = reader.ReadInnerXml().Trim();
                                artikal.opis = artikal.opis.Trim() == "" ? null : artikal.opis.Trim();
                            }

                            if (reader.Name == "Vrsta")
                            {
                                var vrste = reader.ReadInnerXml().Trim();
                                if (vrste != "")
                                {
                                    artikal.vrste = new List <string> {
                                        vrste
                                    }
                                }
                                ;
                            }
                            if (reader.Name == "Nabavnacena")
                            {
                                decimal cijena;
                                decimal.TryParse(reader.ReadInnerXml().Trim().Replace(",", "."), System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                                artikal.cijena_sa_rabatom = cijena;
                            }
                            if (reader.Name == "Prodajnacena")
                            {
                                decimal cijena;
                                decimal.TryParse(reader.ReadInnerXml().Trim().Replace(",", "."), System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                                artikal.cijena_prodajna = cijena;
                            }
                            if (reader.Name == "Kolicina")
                            {
                                decimal kolicina;
                                decimal.TryParse(reader.ReadInnerXml().Trim().Replace(",", "."), System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out kolicina);
                                artikal.kolicina   = kolicina;
                                artikal.dostupnost = artikal.kolicina == 0 ? "0" : artikal.kolicina.ToString();
                            }
                            break;
                        }
                        }
                    }
                }
            }

            return(artikli);
        }
    }
コード例 #9
0
        public override async Task <List <artikal> > SyncAsync()
        {
            List <artikal> artikli = new List <artikal>();
            artikal        artikal = null;

            X509Certificate2 cert = new X509Certificate2(Config.CertificatePath, Config.CertificatePass);
            string           url;
            HttpWebRequest   httpWebRequest;
            XmlReader        reader;

            //PRODUCT LIST
            url                        = Config.Url[0];
            httpWebRequest             = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.ContentType = "application/xml";
            httpWebRequest.Method      = "GET";
            httpWebRequest.ClientCertificates.Add(cert);

            using (var response = (HttpWebResponse)httpWebRequest.GetResponse())
            {
                using (var stream = response.GetResponseStream())
                {
                    using (var sr = new StreamReader(stream))
                    {
                        var content  = sr.ReadToEnd();
                        var settings = new XmlReaderSettings {
                            ConformanceLevel = ConformanceLevel.Fragment, IgnoreWhitespace = true, IgnoreComments = true
                        };
                        reader = XmlTextReader.Create(new StringReader(content), settings);
                        //PRODUCT LIST

                        using (
                            reader
                            //reader = new XmlTextReader(s)
                            )
                        {
                            while (reader.Read())
                            {
                                switch (reader.NodeType)
                                {
                                case XmlNodeType.Element:     // The node is an element.
                                {
                                    if (reader.Name == "Table")
                                    {
                                        artikal = new artikal()
                                        {
                                            dobavljac = this.Config.Description, prioritet = this.Config.Priority
                                        };
                                        artikli.Add(artikal);
                                    }
                                    if (reader.Name == "ProductCode")
                                    {
                                        artikal.dobavljac_sifra = reader.ReadInnerXml().Trim();
                                        artikal.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                                    }
                                    if (reader.Name == "ProductName")
                                    {
                                        artikal.naziv = reader.ReadInnerXml().Trim();
                                    }

                                    if (reader.Name == "Warranty")
                                    {
                                        artikal.garancija = reader.ReadInnerXml().Trim();
                                    }

                                    if (reader.Name == "TechnicalDescription")
                                    {
                                        artikal.opis = reader.ReadInnerXml().Trim();
                                    }


                                    if (reader.Name == "ProductType")
                                    {
                                        artikal.vrste = new List <string>()
                                        {
                                            reader.ReadInnerXml().Trim()
                                        }
                                    }
                                    ;
                                    if (reader.Name == "ProductImageUrl")
                                    {
                                        artikal.slike = new List <string>()
                                        {
                                            reader.ReadInnerXml().Trim().Replace("https:", "http:")
                                        }
                                    }
                                    ;
                                    break;
                                }
                                }
                            }
                        }
                    }
                }
            }


            //PRODUCT PRICE AND AVAILABILITY
            url                        = Config.Url[1];
            httpWebRequest             = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.ContentType = "application/xml";
            httpWebRequest.Method      = "GET";
            httpWebRequest.ClientCertificates.Add(cert);

            using (var response = (HttpWebResponse)httpWebRequest.GetResponse())
            {
                using (var stream = response.GetResponseStream())
                {
                    using (var sr = new StreamReader(stream))
                    {
                        var content = sr.ReadToEnd();
                        if (content.Contains("Too many request"))
                        {
                            return(artikli);
                        }
                        var settings = new XmlReaderSettings {
                            ConformanceLevel = ConformanceLevel.Fragment, IgnoreWhitespace = true, IgnoreComments = true
                        };
                        reader = XmlTextReader.Create(new StringReader(content), settings);

                        using (
                            reader
                            //XmlTextReader reader = new XmlTextReader(s)
                            )
                        {
                            while (reader.Read())
                            {
                                switch (reader.NodeType)
                                {
                                case XmlNodeType.Element:     // The node is an element.
                                {
                                    if (reader.Name == "ProductCode")
                                    {
                                        var sifra = reader.ReadInnerXml().Trim();
                                        artikal = artikli.FirstOrDefault(aa => aa.dobavljac_sifra == sifra);
                                    }
                                    if (reader.Name == "ProductPartnerPrice" && artikal != null)
                                    {
                                        decimal cijena;
                                        decimal.TryParse(reader.ReadInnerXml().Trim().Replace(",", "."), System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                                        artikal.cijena_sa_rabatom = cijena;
                                    }
                                    if (reader.Name == "ProductAvailability" && artikal != null)
                                    {
                                        artikal.dostupnost = reader.ReadInnerXml().Trim();
                                    }
                                    break;
                                }
                                }
                            }
                        }
                    }
                }
            }

            return(artikli);
        }
    }
}
コード例 #10
0
        public override Task <List <artikal> > SyncAsync()
        {
            String        URLString = Config.Url[0];
            XmlTextReader reader    = new XmlTextReader(URLString);

            List <artikal> artikli = new List <artikal>();
            artikal        artikal = null;

            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:     // The node is an element.
                {
                    if (reader.Name == "izdelek")
                    {
                        artikal = new artikal()
                        {
                            dobavljac = this.Config.Description, prioritet = this.Config.Priority
                        };
                        artikli.Add(artikal);
                    }
                    if (reader.Name == "izdelekID")
                    {
                        artikal.dobavljac_sifra = reader.ReadInnerXml().Trim();
                        artikal.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                    }
                    if (reader.Name == "slikaVelika")
                    {
                        string url = reader.ReadInnerXml().Trim();
                        if (url != "")
                        {
                            url           = url.Split("<![CDATA[")[1].Split("]]>")[0];
                            artikal.slike = new List <string>()
                            {
                                url.Trim()
                            };
                        }
                    }

                    if (reader.Name == "skupinaIzdelka" || reader.Name == "kategorija")
                    {
                        string vrsta = reader.ReadInnerXml().Trim();
                        if (vrsta != "")
                        {
                            //vrsta = vrsta.Split("<![CDATA[")[1].Split("]]>")[0];
                            if (artikal.vrste == null)
                            {
                                artikal.vrste = new List <string>();
                            }
                            artikal.vrste.Add(vrsta);
                        }
                    }
                    if (reader.Name == "izdelekIme")
                    {
                        artikal.naziv = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                    }
                    if (reader.Name == "EAN")
                    {
                        artikal.barkod = reader.ReadInnerXml().Trim();
                        artikal.barkod = artikal.barkod.Trim() == "" ? null : artikal.barkod.Trim();
                    }
                    if (reader.Name == "WarrantyCustomer")
                    {
                        artikal.garancija = reader.ReadInnerXml().Trim();
                        artikal.garancija = artikal.garancija.Trim() == "" ? null : artikal.garancija.Trim();
                    }
                    if (reader.Name == "blagovnaZnamka")
                    {
                        artikal.brend = reader.ReadInnerXml().Trim();
                        artikal.brend = artikal.brend.Trim() == "" ? null : artikal.brend.Trim();
                    }
                    if (reader.Name == "opis")
                    {
                        artikal.opis = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                        artikal.opis = artikal.opis.Trim() == "" ? null : artikal.opis.Trim();
                    }
                    if (reader.Name == "nabavnaCena")
                    {
                        string c = reader.ReadInnerXml().Trim();
                        c = c.Replace(",", ".");
                        decimal cijena;
                        decimal.TryParse(c, System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                        artikal.cijena_sa_rabatom = cijena;
                    }
                    if (reader.Name == "zaloga")
                    {
                        string k = reader.ReadInnerXml().Trim();
                        artikal.dostupnost = k;
                        decimal kolicina;
                        decimal.TryParse(k, out kolicina);
                        artikal.kolicina = kolicina;
                    }

                    break;
                }
                }
            }


            return(Task.FromResult(artikli));
        }
コード例 #11
0
        public override Task <List <artikal> > SyncAsync()
        {
            String        URLString = Config.Url[0];
            XmlTextReader reader    = new XmlTextReader(URLString);

            List <artikal> artikli = new List <artikal>();
            artikal        artikal = null;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:     // The node is an element.
                {
                    if (reader.Name == "item")
                    {
                        artikal = new artikal()
                        {
                            dobavljac = this.Config.Description, prioritet = this.Config.Priority
                        };
                        artikal.sifra = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                        artikli.Add(artikal);
                    }
                    if (reader.Name == "Sifra")
                    {
                        artikal.dobavljac_sifra = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                        artikal.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                    }
                    if (reader.Name == "Naziv")
                    {
                        artikal.naziv = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                    }
                    if (reader.Name == "Opis")
                    {
                        artikal.opis = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                    }
                    if (reader.Name == "Oznaka1")
                    {
                        artikal.barkod = reader.ReadInnerXml().Split("<![CDATA[")[1].Split("]]>")[0].Trim();
                        artikal.barkod = artikal.barkod.Replace("EAN code:", "");
                        artikal.barkod = artikal.barkod.Trim() == "" ? null : artikal.barkod.Trim();
                    }
                    if (reader.Name == "Nabavna-cijena-bezPDV")
                    {
                        string c = reader.ReadInnerXml().Trim();
                        c = c.Replace(",", ".");
                        decimal cijena;
                        decimal.TryParse(c, System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                        artikal.cijena_sa_rabatom = cijena;
                    }
                    if (reader.Name == "Kolicina")
                    {
                        string k = reader.ReadInnerXml().Trim();
                        artikal.dostupnost = k;
                        decimal kolicina;
                        decimal.TryParse(k, out kolicina);
                        artikal.kolicina = kolicina;
                    }
                    if (reader.Name.StartsWith("Slika"))
                    {
                        var slikaUrl = reader.ReadInnerXml().Trim();
                        if (slikaUrl != "")
                        {
                            slikaUrl = slikaUrl.Split("<![CDATA[")[1].Split("]]>")[0];
                            if (artikal.slike == null)
                            {
                                artikal.slike = new List <string>();
                            }
                            artikal.slike.Add(slikaUrl.Trim());
                        }
                    }

                    if (reader.Name.StartsWith("Kategorija"))
                    {
                        var kategorija = reader.ReadInnerXml().Trim();
                        if (kategorija != "")
                        {
                            kategorija = kategorija.Split("<![CDATA[")[1].Split("]]>")[0];
                            if (artikal.vrste == null)
                            {
                                artikal.vrste = new List <string>();
                            }
                            artikal.vrste.Add(kategorija.Trim());
                        }
                    }
                    break;
                }
                }
            }


            return(Task.FromResult(artikli));
        }
コード例 #12
0
        public ActionResult getCenaPoJm(int?id)
        {
            artikal artikal = db.artikals.Where(x => x.idartikal == id && x.aktivan).FirstOrDefault();

            return(Content(artikal.cena.ToString()));
        }
コード例 #13
0
        public override Task <List <artikal> > SyncAsync()
        {
            List <artikal> artikli = new List <artikal>();

            String        URLString = Config.Url[0];
            XmlTextReader reader    = new XmlTextReader(URLString);

            artikal artikal = null;

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:     // The node is an element.
                {
                    if (reader.Name == "PRICE")
                    {
                        artikal = new artikal()
                        {
                            dobavljac = this.Config.Description, prioritet = this.Config.Priority
                        };

                        artikal.sifra = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                        artikli.Add(artikal);
                    }
                    if (reader.Name == "GROUP_NAME")
                    {
                        if (artikal.vrste == null)
                        {
                            artikal.vrste = new List <string>();
                        }
                        artikal.vrste.Add(reader.ReadInnerXml().Trim());
                    }
                    if (reader.Name == "WIC")
                    {
                        artikal.dobavljac_sifra = reader.ReadInnerXml().Trim();
                        artikal.sifra           = this.Config.Id.ToString().PadLeft(3, '0') + "_" + artikal.dobavljac_sifra;
                    }
                    if (reader.Name == "DESCRIPTION")
                    {
                        artikal.naziv = reader.ReadInnerXml().Trim();
                    }

                    if (reader.Name == "MY_PRICE")
                    {
                        string  c = reader.ReadInnerXml().Trim().Replace(",", ".");
                        decimal cijena;
                        decimal.TryParse(c, System.Globalization.NumberStyles.Any, new CultureInfo("en-US"), out cijena);
                        artikal.cijena_sa_rabatom = cijena;
                    }
                }
                    if (reader.Name == "AVAIL")
                    {
                        artikal.dostupnost = reader.ReadInnerXml().Trim();
                    }
                    break;
                }
            }

            string catalogUrl = Config.Url[1];

            //foreach (var art in artikli)
            //    Console.WriteLine(art.dobavljac + " " + art.dobavljac_sifra + " " + art.naziv + " " + art.kolicina + " " + art.cijena_sa_rabatom);
            reader = new XmlTextReader(catalogUrl);

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:     // The node is an element.
                {
                    if (reader.Name == "ProductCode")
                    {
                        var sifra = reader.ReadInnerXml().Trim();
                        artikal = artikli.FirstOrDefault(a => a.dobavljac == this.Config.Description && a.dobavljac_sifra == sifra);
                    }
                    if (reader.Name == "element")
                    {
                        if (reader.GetAttribute("Name") == "Warranty Term (month)")
                        {
                            artikal.garancija = reader.GetAttribute("Value");
                            artikal.garancija = artikal.garancija.Trim() == "" ? null : artikal.garancija.Trim();
                        }
                        if (reader.GetAttribute("Name") == "EAN Code")
                        {
                            artikal.barkod = reader.GetAttribute("Value");
                            artikal.barkod = artikal.barkod.Trim() == "" ? null : artikal.barkod.Trim();
                        }
                    }
                    if (reader.Name == "Vendor")
                    {
                        artikal.brend = reader.ReadInnerXml().Trim();
                        artikal.brend = artikal.brend.Trim() == "" ? null : artikal.brend.Trim();
                    }
                    if (reader.Name == "Image" && artikal != null)
                    {
                        if (artikal.slike == null)
                        {
                            artikal.slike = new List <string>();
                        }
                        artikal.slike.Add(reader.ReadInnerXml().Trim());
                    }
                }
                break;
                }
            }
            return(Task.FromResult(artikli));
        }