public static void UpdateCijenaIKategorijaArtikala(DelosDbContext dbContext, kategorija kategorija) { decimal pdvStopa = 17; var artikli = dbContext.artikal.Where(a => a.kategorija == kategorija.naziv).ToList(); if (artikli != null) { foreach (var art in artikli) { art.aktivan = kategorija.aktivna.Value; if (kategorija.marza.HasValue) { if (art.kalkulacija == true && art.cijena_sa_rabatom != 0 && art.cijena_sa_rabatom != 0) { art.cijena_prodajna = art.cijena_sa_rabatom + Math.Round(art.cijena_sa_rabatom * kategorija.marza.Value / 100, 2); art.cijena_mp = art.cijena_prodajna * (1 + pdvStopa / 100); } } } } }
public static void UpdateKategorije(DelosDbContext dbContext) { decimal pdvStopa = 17; var artikli = dbContext.artikal.ToList(); foreach (var kat in dbContext.kategorija) { if (kat.kategorije_dobavljaca != null) { foreach (var kd in kat.kategorije_dobavljaca) { foreach (var art in artikli) { if (art.vrste != null) { string vrsta = art.vrsteString.Substring(0, art.vrsteString.Length - 1); //foreach (var vrsta in art.vrste) //{ if (("[" + art.dobavljac + "] " + vrsta).ToLower() == kd.ToLower()) { art.kategorija = kat.naziv; if (art.kalkulacija == true && art.cijena_sa_rabatom != 0 && art.cijena_sa_rabatom != 0) { art.cijena_prodajna = art.cijena_sa_rabatom + Math.Round(art.cijena_sa_rabatom * (kat.marza == null ? 0 : kat.marza.Value) / 100, 2); art.cijena_mp = art.cijena_prodajna * (1 + pdvStopa / 100); } } //} } } } } } dbContext.SaveChanges(); //Thread.Sleep(10000); //foreach (var kat in dbContext.kategorija) // Helper.UpdateCijene(dbContext, kat); }
private void SetKategorija(DelosDbContext dbContext, artikal a) { foreach (var kat in dbContext.kategorija) { if (kat.kategorije_dobavljaca != null) { foreach (var kd in kat.kategorije_dobavljaca) { if (a.vrste != null) { string vrsta = a.vrsteString.Substring(0, a.vrsteString.Length - 1); if (("[" + a.dobavljac + "] " + vrsta).ToLower() == kd.ToLower()) { a.kategorija = kat.naziv; } // foreach (var vrsta in a.vrste) //{ // if (("[" + a.dobavljac + "] " + vrsta).ToLower() == kd.ToLower()) // a.kategorija = kat.naziv; //} } } } } if (a.kategorija == null) { a.kategorija = "Razno"; var razno = dbContext.kategorija.FirstOrDefault(k => k.naziv == "Razno"); if (razno != null) { string vrsta = a.vrsteString.Substring(0, a.vrsteString.Length - 1); razno.kategorije_dobavljaca.Add("[" + a.dobavljac + "] " + vrsta); } } }
public UgovorController(DelosDbContext context, ILogger <UgovorController> logger, IConfiguration con) { _logger = logger; _con = con; _dbContext = context; }
public WebShopSyncController(IConfiguration configuration, DelosDbContext context, ILogger <KorisnikController> logger) { _configuration = configuration; _dbContext = context; _logger = logger; }
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); }
public override async Task ExportAsync() { using (var dbContext = new DelosDbContext(ConnectionString)) { DirectoryInfo di = new DirectoryInfo(Config.Path); var toDelete = di.GetFiles().Where(f => DateTime.Now.Subtract(f.LastWriteTime).TotalDays > Config.KeepFileDays); foreach (var file in toDelete) { file.Delete(); } var artikli = from a in dbContext.artikal.Where(a => dbContext.kategorija. Where(k => k.aktivna == true).Select(k => k.naziv).Contains(a.kategorija) && a.aktivan == true && a.dostupnost != null && a.dostupnost != "0" && a.cijena_prodajna != null && a.cijena_prodajna != 0).ToList() select a; List <artikal> arts = new List <artikal>(); int duplicates = 0; foreach (var a in artikli) { var existing = arts.FirstOrDefault(x => MatchArtikal(x, a)); if (existing != null) { duplicates++; if ((existing.prioritet != null?existing.prioritet:1000) > (a.prioritet != null?a.prioritet:1000) || (existing.prioritet == a.prioritet && existing.cijena_mp > a.cijena_mp)) { arts.Remove(existing); arts.Add(a); } } else { arts.Add(a); } } var options = new JsonSerializerOptions { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; var json = JsonSerializer.Serialize(from a in arts select new { a.sifra, a.naziv, a.barkod, a.cijena_mp, a.dostupnost, a.kategorija, a.opis, a.slike }, options); string fileName = "ArtikliWEBSHOP_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".json"; string localFilePath = Path.Combine(Config.Path, fileName); StreamWriter sw = new StreamWriter(localFilePath); await sw.WriteAsync(json); sw.Close(); ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateCertificate); // Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Path.Combine(Config.FtpAddress, fileName)); request.Method = WebRequestMethods.Ftp.UploadFile; // This example assumes the FTP site uses anonymous logon. request.Credentials = new NetworkCredential(Config.FtpUsername, Config.FtpPassword); // Copy the contents of the file to the request stream. byte[] fileContents; using (StreamReader sourceStream = new StreamReader(localFilePath)) { fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); } request.ContentLength = fileContents.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(fileContents, 0, fileContents.Length); } using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { Console.WriteLine($"Upload File Complete, status {response.StatusDescription}"); } if (Config.KeepFileDays == 0) { File.Delete(localFilePath); } } }
public PrijavaController(DelosDbContext context, ILogger <PrijavaController> logger) { _logger = logger; _dbContext = context; }
public PonudaController(DelosDbContext context, ILogger <PonudaController> logger, IConfiguration configuration) { _logger = logger; _dbContext = context; _configuration = configuration; }
public PartnerController(DelosDbContext context, ILogger <PartnerController> logger) { _dbContext = context; }
public ImportHostService(IImportService serviceModel, DelosDbContext dbContext) { this._serviceModel = serviceModel; this._dbContext = dbContext; }
public KorisnikController(DelosDbContext context, ILogger <KorisnikController> logger, IUserService userService) { _dbContext = context; _userService = userService; }