예제 #1
0
        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));
        }
예제 #2
0
        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());
        }
예제 #3
0
        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);
        }