private void CreateOrderViewModel(OrderSalepoint order) { var orderVM = Mvx.IocConstruct <SalepointOrderListItemViewModel>(); orderVM.Order = order; this.Orders.Add(orderVM); }
private void SetInProgressOrdersMarker(OrderSalepoint order) { if (order.EndLatLng == null || this.inprogressOrdersMarkers.ContainsKey(order.Id)) { return; } MarkerOptions options = new MarkerOptions(); MarkerTag tag = new MarkerTag { OrderId = order.Id }; tag.Type = MarkerType.InProgressOrder; BitmapDescriptor icon = BitmapDescriptorFactory.FromResource(Resource.Drawable.marker); options.SetIcon(icon); string title = string.Concat(order.DestinationCity, ", ", order.DestinationAddress); options.SetTitle(title); options.SetPosition(new LatLng(order.EndLatLng.lat, order.EndLatLng.lng)); this.activity.RunOnUiThread(() => { Marker marker = this.map.AddMarker(options); marker.Tag = tag; inprogressOrdersMarkers.Add(order.Id, marker); }); }
public async Task <OrderSalepoint> Add(OrderEditModel order) { OrderSalepoint newOrder = await this.salepointOrdersApi.AddOrder(order); this.AddedOrders.Add(newOrder); this.AddedOrdersUpdated?.Invoke(this, new ServiceEvent <SalepointAddedOrdersEvents>(SalepointAddedOrdersEvents.AddedOrder, newOrder)); return(newOrder); }
public void OrderAccepted(OrderSalepoint order) { if (this.InProgressOrders.All(x => x.Id != order.Id)) { this.InProgressOrders.Add(order); this.InProgressOrdersUpdated?.Invoke(this, new ServiceEvent <SalepointInProgressOrdersEvents>(SalepointInProgressOrdersEvents.AddedOrder, order)); } var addedOrderToRemove = this.AddedOrders.Where(x => x.Id == order.Id).FirstOrDefault(); if (addedOrderToRemove != null) { this.AddedOrders.Remove(addedOrderToRemove); this.AddedOrdersUpdated?.Invoke(this, new ServiceEvent <SalepointAddedOrdersEvents>(SalepointAddedOrdersEvents.RemovedOrder, addedOrderToRemove)); } CrossLocalNotifications.Current.Show("Zaakceptowano zamówienie", String.Concat("Zaakceptował: ", order.CarrierName, "\n", "Do miejsca: ", order.DestinationAddress), order.Id); }
public void HandleInProgressOrdersMarkers(object sender, MvxValueEventArgs <ServiceEvent <SalepointInProgressOrdersEvents> > e) { switch (e.Value.Type) { case SalepointInProgressOrdersEvents.AddedList: ClearInProgressOrdersMarkers(); SetInProgressOrdersMarkers(); break; case SalepointInProgressOrdersEvents.AddedOrder: OrderSalepoint order = (OrderSalepoint)e.Value.Resource; SetInProgressOrdersMarker(order); break; case SalepointInProgressOrdersEvents.RemovedOrder: OrderSalepoint orderToRemove = (OrderSalepoint)e.Value.Resource; ClearMarker(MarkerType.InProgressOrder, orderToRemove.Id); break; } }
public async Task Cancel(OrderSalepoint order) { await this.salepointOrdersApi.CancelOrder(order.Id); order.Status = OrderStatus.Cancelled; OrderFinishedListItem finished = (OrderFinishedListItem)order; finished.CancellationTime = DateTime.Now; this.FinishedOrders.Add(finished); this.FinishedOrdersUpdated.Invoke(this, null); if (this.AddedOrders.Contains(order)) { this.AddedOrders.Remove(order); this.AddedOrdersUpdated?.Invoke(this, new ServiceEvent <SalepointAddedOrdersEvents>(SalepointAddedOrdersEvents.RemovedOrder, order)); } if (this.InProgressOrders.Contains(order)) { this.InProgressOrders.Remove(order); this.InProgressOrdersUpdated?.Invoke(this, new ServiceEvent <SalepointInProgressOrdersEvents>(SalepointInProgressOrdersEvents.RemovedOrder, order)); } }