public IActionResult InsertStavkaPonuda(ponuda_stavka stavka) { int?ponuda_stavka = null; var stavke = _dbContext.ponuda_stavka.Where(ps => ps.ponuda_broj == stavka.ponuda_broj); if (stavke != null && stavke.Count() > 0) { ponuda_stavka = stavke.Max(ps => ps.stavka_broj); } if (stavka.artikal != null) { stavka.artikal = _dbContext.artikal.FirstOrDefault(a => a.sifra == stavka.artikal.sifra); } stavka.stavka_broj = ponuda_stavka == null ? 1 : (ponuda_stavka.Value + 1); _dbContext.Add(stavka); _dbContext.SaveChanges(); return(Ok(stavka)); }
public IActionResult Import() { List <KeyValuePair <string, string> > lista = new List <KeyValuePair <string, string> >(); lista.Add(new KeyValuePair <string, string>("ASBIS", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\Artikli_export_ASBIS.xlsx")); lista.Add(new KeyValuePair <string, string>("KIMTEC", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\Artikli_export_KIMTEC.xlsx")); lista.Add(new KeyValuePair <string, string>("COMTRADE", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\Copy of Artikli_export_ct kategorisano.xlsx")); lista.Add(new KeyValuePair <string, string>("UNIEXPERT", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\Artikli_export_UNIEXPERT ZAVRSENO.xlsx")); lista.Add(new KeyValuePair <string, string>("MINT", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\mint veze2.xlsx")); lista.Add(new KeyValuePair <string, string>("AVTERA", @"C:\Users\Dario\source\repos\Delos\Delos\TestData\Artikli_export_AVTERA- ZAVRSENO.xlsx")); foreach (var file in lista) { var workbook = new XLWorkbook(file.Value); var ws1 = workbook.Worksheet("Veze"); for (int i = 1; i < ws1.RowCount(); i++) { var k1 = ws1.Cell(i + 1, 1).Value.ToString().Trim(); var k2 = ws1.Cell(i + 1, 2).Value.ToString().Trim(); if (k1 != "" && k2 != "") { var kat1 = _dbContext.kategorija.FirstOrDefault(k => k.naziv.ToLower() == k2.ToLower()); if (kat1 == null) { kat1 = new kategorija() { naziv = k2 }; string maxSifra = _dbContext.kategorija.Max(k => k.sifra); if (maxSifra == null) { maxSifra = "0"; } int maxSifraInt = int.Parse(maxSifra); string novaSifra = (maxSifraInt + 1).ToString().PadLeft(3, '0'); kat1.sifra = novaSifra; _dbContext.Add(kat1); } if (kat1.kategorije_dobavljaca == null) { kat1.kategorije_dobavljaca = new List <string>(); } string katd = k1.Trim(); if (katd.EndsWith(";")) { katd = katd.Substring(0, katd.Length - 1).Trim(); } var exist = kat1.kategorije_dobavljaca.FirstOrDefault(k => k.ToLower() == ("[" + file.Key + "] " + katd).ToLower()); if (exist == null) { kat1.kategorije_dobavljaca.Add("[" + file.Key + "] " + katd); } //foreach (var kd in k1.Split(";")) //{ // if (kd != "" && kd != ";") // { // string katd = kd.Trim(); // var exist = kat1.kategorije_dobavljaca.FirstOrDefault(k => k.ToLower() == ("[" + file.Key + "] " + katd).ToLower()); // if (exist == null) // kat1.kategorije_dobavljaca.Add("[" + file.Key + "] " + katd); // } //} _dbContext.SaveChanges(); } } } return(Ok()); }
public bool UdpateDb(DelosDbContext dbContext, List <artikal> artikli, string dobavljac) { decimal pdvStopa = 17; foreach (var a in artikli) { this.SetKategorija(dbContext, a); var kat = dbContext.kategorija.FirstOrDefault(k => k.naziv == a.kategorija); a.kalkulacija = Config.CalculatePrice; if (a.kalkulacija == true && kat != null && kat.marza != null) { a.cijena_prodajna = a.cijena_sa_rabatom + Math.Round(a.cijena_sa_rabatom * kat.marza.Value / 100, 2); } a.cijena_mp = a.cijena_prodajna * (1 + pdvStopa / 100); var art = dbContext.artikal.FirstOrDefault(ar => a.dobavljac_sifra == ar.dobavljac_sifra && a.dobavljac == ar.dobavljac); if (art == null) { a.zadnje_ucitavanje = DateTime.Now; a.aktivan = kat.aktivna.Value; dbContext.istorija_cijena.Add(new istorija_cijena() { artikal_sifra = a.sifra, vrijeme = DateTime.Now, cijena = a.cijena_sa_rabatom }); dbContext.Add(a); } else { art.zadnje_ucitavanje = DateTime.Now; if (art.cijena_sa_rabatom != a.cijena_sa_rabatom || dbContext.istorija_cijena.Where(i => i.artikal_sifra == art.sifra).Count() == 0) { dbContext.istorija_cijena.Add(new istorija_cijena() { artikal_sifra = art.sifra, vrijeme = DateTime.Now, cijena = a.cijena_sa_rabatom }); } art.cijena_sa_rabatom = a.cijena_sa_rabatom; art.cijena_prodajna = a.cijena_prodajna; art.cijena_mp = a.cijena_mp; art.kolicina = a.kolicina; art.dostupnost = a.dostupnost; art.naziv = a.naziv; if (a.slike != null) { art.slike = a.slike; } art.vrste = a.vrste; art.sifra = a.sifra; art.barkod = a.barkod; art.garancija = a.garancija; art.brend = a.brend; art.opis = a.opis; art.prioritet = a.prioritet; } } var inactive = dbContext.artikal.Where(a => a.dobavljac == dobavljac && artikli.Select(aa => aa.sifra).Contains(a.sifra) == false).ToList(); foreach (var art in inactive) { //art.aktivan = false; art.dostupnost = "0"; } dbContext.SaveChanges(); return(true); }