private static void AllocateOrderToPrefferedAgent(int orderId) { using (OrderDao dao = new OrderDao()) { Order order = dao.FindById(orderId); string latitude = order.ConsumerAddress.Latitude; string longitude = order.ConsumerAddress.Longitude; Agency preferredAgency = AgencyService.FindPreferredAgency(order, latitude, longitude); string appId = order.Consumer.AppID, appToken = order.Consumer.AppToken; string message = string.Format(OrdersServices.ORDER_ALLOCATION_TEMPLATE, order.OrdrID); PushMessagingService.PushNotification(appId, appToken, message); HostingEnvironment.QueueBackgroundWorkItem(t => PostProcessAgencyNotification(order.OrdrID, false)); } }
public static void NotifyAgencies(int ordrID) { using (OrderDao dao = new OrderDao()) { Order ord = dao.FindById(ordrID); int userId = ord.ConsID; string latitude = ord.ConsumerAddress.Latitude; string longitude = ord.ConsumerAddress.Longitude; List <Agency> agencies = AgencyService.GetProximateAgencies(latitude, longitude); string appId = ord.Consumer.AppID, appToken = ord.Consumer.AppToken; foreach (Agency ag in agencies) { if (!TimeslotService.CheckTimeslotFree(ord.DeliveryDate, latitude, longitude, ord.DeliverySlotID, ag.AgenID)) { continue; } string message = string.Format(OrdersServices.ORDER_NOTIFICATION_TEMPLATE, ord.OrdrID); PushMessagingService.PushNotification(appId, appToken, message); } HostingEnvironment.QueueBackgroundWorkItem(t => PostProcessAgencyNotification(ord.OrdrID)); } }