Exemple #1
0
 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));
     }
 }
Exemple #2
0
        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;
            });
        }
Exemple #4
0
 public override bool CanDelete()
 {
     return(!(Catalogs.Any() || Files.Any()));
 }