Пример #1
0
 public static void DeliveryStatusUpdate(Common.OrderDetails orderDetails)
 {
     if (OrderDb.orders.Where(o => o.id == orderDetails.OrderId && o.userID == orderDetails.UserId).FirstOrDefault() != null)
     {
         OrderDb.orders.Where(o => o.id == orderDetails.OrderId && o.userID == orderDetails.UserId).FirstOrDefault().isDeliveryDone = orderDetails.IsDeliverySuccessful;
     }
 }
Пример #2
0
        public async Task <ActionResult> DeliverProduct([FromBody] DeliveryModel deliveryModel)
        {
            try
            {
                //deliver product
                var identity = (System.Security.Claims.ClaimsIdentity)HttpContext.User.Identity;
                var userId   = identity.Claims.FirstOrDefault(c => c.Type == "userId").Value;
                DeliveryDb.deliveryList.Add(new DeliveryModel(DeliveryDb.deliveryList.Count + 1, deliveryModel.orderId, userId, deliveryModel.DeliveredBy, deliveryModel.DeliveryStatus));

                //change status in order
                Uri uri      = new Uri($"rabbitmq://{_config.GetValue<string>("RabbitMQHostName")}/delStatus");
                var endPoint = await _bus.GetSendEndpoint(uri);

                var order = new Common.OrderDetails();
                order.OrderId = deliveryModel.orderId;
                order.UserId  = deliveryModel.userId;
                order.IsDeliverySuccessful = deliveryModel.DeliveryStatus;
                await endPoint.Send(order);

                _log.LogInformation("Order has been delivered.");
                return(Ok("Order Delivered"));
            }
            catch (Exception ex)
            {
                _log.LogInformation("Order can't be delivered.");
                return(Ok("Order can't be delivered."));
            }
        }