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); } }
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()); }
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)); }
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)); }
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()); } }
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); }
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)); }
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("&", "&"); 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); } }
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); } } }
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)); }
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)); }
public ActionResult getCenaPoJm(int?id) { artikal artikal = db.artikals.Where(x => x.idartikal == id && x.aktivan).FirstOrDefault(); return(Content(artikal.cena.ToString())); }
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)); }