/// <summary> /// Tutti gli articoli che sono con il flag CaricainECommerce e /// </summary> public void AggiornaWeb() { using (var uof = new UnitOfWork()) { using (var groupsync = new CategorySync()) { groupsync.AllineaCategorieReparti(); } var listArt = UpdateProducts(uof); using (var stockPr = new StockProducts(this)) { var listStockArt = stockPr.UpdateStock(uof); listArt.AddRange(listStockArt); } using (var imgPr = new ImageProduct(this)) { listArt.AddRange(imgPr.UpdateImages(uof)); } var listArtId = listArt.FindAll(a => a.Aggiornamento.ForzaAggiornamento == true).Select(a => a.ArticoloID).Distinct().ToList(); var aggToFix = uof.AggiornamentoWebArticoloRepository.Find(a => listArtId.Contains(a.ArticoloID) && a.ForzaAggiornamento).ToList(); foreach (var item in aggToFix) { uof.AggiornamentoWebArticoloRepository.Update(item); } uof.Commit(); } }
/// <summary> /// Salva quelli che non sono presenti in locale /// </summary> /// <returns>ritorna quanti sono stati inseriti</returns> public int SaveLocalFromSite() { int count = 0; using (var uof = new UnitOfWork()) { using (var categ = new CategorySync()) { var listCategories = categ.LeggiCategorieDalWeb(); //Dictionary<string, string> filter = new Dictionary<string, string>(); //filter.Add("Name", "EKO RANGER"); var listProd = new List <product>(); var codiciGiaPresenti = uof.AggiornamentoWebArticoloRepository.Find(a => a.CodiceArticoloEcommerce != null).Select(a => a.CodiceArticoloEcommerce).ToList(); var listIdProdWeb = _productFactory.GetIds().OrderBy(a => a).Select(a => a.ToString()).ToList(); //prendo quelli che non sono già salvati foreach (var item in listIdProdWeb.Where(a => !codiciGiaPresenti.Contains(a))) { var prod = _productFactory.Get(long.Parse(item)); listProd.Add(prod); Console.WriteLine("Prodotto :" + prod.name.First().Value); } foreach (var item in listProd) { var codice = item.id.Value.ToString(); var name = item.name.First().Value; var articolo = uof.AggiornamentoWebArticoloRepository.Find(a => a.CodiceArticoloEcommerce == codice).Select(a => a.Articolo).FirstOrDefault(); if (articolo == null) { try { Console.WriteLine("avvio salvataggio per codice articolo web:" + codice); SaveProduct(uof, item, name, listCategories); Console.WriteLine("Salvato nuovo articolo dal web:" + name); count++; } catch (Exception ex) { Console.WriteLine("Errore:" + ex.Message); Console.WriteLine("Vuoi continuare ? Y/N"); if (Console.ReadLine().ToUpperInvariant() != "Y") { return(count); } } } else { Console.WriteLine("Articolo già presente per codice:" + name); } } } } return(count); }