/// <summary> /// Update docket item /// </summary> /// <param name="action">Action.</param> /// <param name="product">Product.</param> /// <param name="trailerStockRowGuid">Trailer stock row GUID.</param> void OnUpdateDocketItem(StockItemDialog.StockItemDialogAction action, Product product, string trailerStockRowGuid) { _stockItemDialog.Dismiss(); if (action == StockItemDialog.StockItemDialogAction.Confirm) { DocketService.UpdateDocketItem(_repository, _docketItem, product); RefreshData(); } }
/// <summary> /// Starts the delivery. /// </summary> /// <param name="call">Call.</param> void StartDelivery(Call call) { // create and save the delivery docket var profile = _repository.Profiles.First(); var subscriber = _repository.Subscribers.Find(profile.SubscriberID); DocketService.CreateNewDocket(_repository, profile.CurrentRunNumber, call, subscriber); var fragment = DeliveryFragment.NewInstance(); _fragmentActionListener.NavigateToFragment(fragment, DeliveryFragment.TAG); }
/// <summary> /// Save the docket /// </summary> bool UpdateDocketDetails(bool confirm) { _confirm = confirm; // set the signature var customerName = _customerNameEditText.Text; // validate signature if (_signatureView.IsBlank) { var messageSignature = Resources.GetString(Resource.String.message_missing_signature); Activity.RunOnUiThread(() => { UserDialogs.Instance.Alert(messageSignature); }); return(false); } byte[] signature; using (var stream = new MemoryStream()) { var image = _signatureView.GetImage(true, true); image.Compress(Bitmap.CompressFormat.Png, 50, stream); signature = stream.ToArray(); stream.Close(); image.Dispose(); } //var location = await GetLocation().ConfigureAwait(false); var longitude = _location?.Longitude; var latitude = _location?.Latitude; // open a new realm since getlocation causes context switch _docketId = DocketService.CommitDocket(_repository, _docketId, signature, longitude, latitude, customerName, confirm); // update the docket id var profile = _repository.Profiles.First(); profile.CurrentDocketID = _docketId; _repository.SaveChanges(); return(true); }
/// <summary> /// Navigate to signature /// </summary> void NavigateToSignature() { var hasDocketItems = _repository.DeliveryDocketItems.Any(x => x.DeliveryDocketID == _deliveryDocket.DocketID && x.HasValue); if (!hasDocketItems) { var message = Resources.GetString(Resource.String.message_no_delivery_items); UserDialogs.Instance.Alert(message); return; } var poNumber = _orderRefEditText.Text; DocketService.SetDocketOrderReference(_repository, _deliveryDocket, poNumber); var fragment = SignatureFragment.NewInstance(); _fragmentActionListener.NavigateToFragment(fragment, SignatureFragment.TAG); }