async Task ExecuteLoadItemsCommand() { try { Pembelians.Clear(); var pembelians = await PembelianService.GetPembelians(); foreach (var item in pembelians) { Pembelians.Add(item); } await Task.Delay(500); Items.Clear(); Source = await IncomingService.Load(); if (Source.Model != null) { Model = Source.Model; foreach (var item in Source.Datas) { item.UpdateEvent += Item_UpdateEvent; Items.Add(item); } } } catch (Exception ex) { await Toas.ShowLong($"Error : {ex.Message}"); } finally { IsBusy = false; } }
private async void CameraAction(object obj) { try { IsBusy = true; if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await MessageHelper.ErrorAsync(":( Permission not granted to photos."); return; } var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium, Directory = "Pictures", Name = "image.jpg" }); if (file == null) { return; } var image = new ProductImage { ProductId = Model.Id }; var stream = file.GetStream(); using (MemoryStream ms = new MemoryStream()) { stream.CopyTo(ms); image.Buffer = ms.ToArray(); } file.Dispose(); image = await Products.AddPhoto(image); if (image != null) { Model.ProductImage.Add(image); Pictures.Add(new ProductImageModel(image)); await Toas.ShowLong("Success !"); } } catch (Exception ex) { await MessageHelper.ErrorAsync(ex.Message); } finally { IsBusy = false; } }
protected override bool OnBackButtonPressed() { countPress++; if (countPress >= 2) { return(base.OnBackButtonPressed()); } Toas.ShowLong("Tekan Sekali Lagi Untuk Keluar !"); Task.Run(() => ClearCount()); return(true); }
private async void ScanAction(object obj) { try { var barcodeScan = new InputBarcodeView(); var vmScanBarcode = new InputBarcodeViewModel(); barcodeScan.BindingContext = vmScanBarcode; vmScanBarcode.OnResultScanHandler += async(dynamic result) => { if (result.Type == "Auto") { string article = result.Article.ToString(); var data = Items.Where(x => x.Product.CodeArticle == article).FirstOrDefault(); if (data != null) { data.ActualValue++; await Toas.ShowLong($"{data.Product.Name} , Amount : {data.ActualValue}"); } else { await Toas.ShowLong($"Error : {result.Article.ToString()} Not Found !"); } } else { string article = (string)result.Article; var data = Items.Where(x => x.Product.CodeArticle == article).FirstOrDefault(); if (data != null) { data.ActualValue += (double)result.Count; await Toas.ShowLong($"{data.Product.Name} , Amount : {data.ActualValue}"); } else { await Toas.ShowLong($"Error : {result.Article} Not Found !"); } } }; await Shell.Current.Navigation.PushModalAsync(barcodeScan); } catch (Exception ex) { await Toas.ShowLong($"Error : {ex.Message}"); } }
private async void Vm_OnResultScanHandler(dynamic result) { if (result != null) { string article = result.Article.ToString(); var data = Datas.Where(x => x.Product.CodeArticle == article).FirstOrDefault(); if (data != null) { double max = data.Amount - data.Real; if (max <= 0) { await Toas.ShowLong($"Sorry, {data.Product.Name}-{data.Product.Size}, Sudah Lengkap"); return; } if (result.Type == "Auto") { data.Real += max < 0.5 ? max : 0.5; await Toas.ShowLong($"{data.Product.Name}-{data.Product.Size}, Jumlah: {data.Real} {data.Unit.Name}, Dari : {data.Amount} { data.Unit.Name}"); } else { if ((double)result.Count > max) { await Toas.ShowLong($"Sorry, {data.Product.Name}-{data.Product.Size} hanya kurang : {max} {data.Unit.Name}"); } else { data.Real += (double)result.Count; await Toas.ShowLong($"{data.Product.Name}-{data.Product.Size}, Jumlah: {data.Real} {data.Unit.Name}, Dari : {data.Amount} { data.Unit.Name}"); return; } } } else { await Toas.ShowLong($"Error : {result.Article.ToString()} Tidak Ada Diorder !"); } } }
private async void Load() { var vm = new InputBarcodeViewModel(); vm.AutoCount = true; vm.ShowAutoCount = false; var form = new InputBarcodeView() { BindingContext = vm }; vm.OnResultScanHandler += async(dynamic result) => { if (result != null && result.Article != null) { var products = await DependencyService.Get <IProductService>().GetProductStock(); if (products != null) { var data = products.Where(x => x.CodeArticle == result.Article).FirstOrDefault(); if (data != null) { await Shell.Current.Navigation.PopModalAsync(); var detailForm = new ProductDetailView() { BindingContext = new ProductDetailViewModel(data) }; await Shell.Current.Navigation.PushAsync(detailForm); return; } } } await Toas.ShowLong($"{result.Article} Not Found !"); }; await Shell.Current.Navigation.PushModalAsync(form); }
private async void RemoveImageAction(object obj) { try { var model = (ProductImageModel)obj; var deleted = await Products.RemovePhoto(model.Id); if (deleted) { Pictures.Remove(model); var item = Model.ProductImage.SingleOrDefault(x => x.Id == model.Id); if (item != null) { Model.ProductImage.Remove(item); } await Toas.ShowLong("Delete Success !"); } } catch (Exception ex) { await MessageHelper.ErrorAsync(ex.Message); } }