public bool AddProduct(string sku, string description, string[] barcodes, int supplierID) { if (Catalogs.Any(p => p.SKU.Equals(sku, StringComparison.InvariantCultureIgnoreCase))) { return(false); } else { Catalogs.Add(new Product() { SKU = sku, Description = description, Original = CATALOG_ORIGINAL }); return(AddBarcodes(sku, barcodes, supplierID)); } }
public void Merge(string catalogBPath, string supplierBPath, string barcodeBPath) { var catalogB = LoadProducts(catalogBPath, "B"); var suppliersB = LoadSupplier(supplierBPath); var barcodesB = LoadBarcodes(barcodeBPath, catalogB, suppliersB); foreach (var productBarcode in barcodesB) { if (!Barcodes.Any(bc => bc.Barcode == productBarcode.Barcode)) { if (!Catalogs.Any(p => p.SKU == productBarcode.Product.SKU)) { Catalogs.Add(productBarcode.Product); } Barcodes.Add(productBarcode); } } }
async public Task LoadCatalogs() { if (IsCatalogsLoading || !IsUserViewModelLoaded) { return; } IsCatalogsLoading = true; hasCatalogs = null; var options = new EtaApiQueryStringParameterOptions(); options.AddParm(EtaApiConstants.EtaApi_Latitude, UserViewModel.Location.Latitude.ToString("0.00000")); options.AddParm(EtaApiConstants.EtaApi_Longitude, UserViewModel.Location.Longitude.ToString("0.00000")); options.AddParm(EtaApiConstants.EtaApi_LocationDetermined, UNIXTime.GetTimestamp(DateTime.Now)); options.AddParm(EtaApiConstants.EtaApi_Geocoded, UserViewModel.Location.IsGeoCoded ? "0" : "0"); options.AddParm(EtaApiConstants.EtaApi_Accuracy, "0");//userModel.Location.Accuracy.ToString()); options.AddParm(EtaApiConstants.EtaApi_Ditance, UserViewModel.Distance.ToString()); var response = await Api.GetCatalogListAsync(options); Deployment.Current.Dispatcher.BeginInvoke(() => { if (Catalogs.Any()) { Catalogs.Clear(); } if (response.HasErrors) { IsCatalogsLoaded = false; } else { foreach (var catalog in response.Result) { Catalogs.Add(catalog); } IsCatalogsLoaded = true; } HasCatalogs = Catalogs.Any(); IsCatalogsLoading = false; }); }
public override bool CanDelete() { return(!(Catalogs.Any() || Files.Any())); }