Exemple #1
0
        public ResultBase Acknowledgement([FromBody] DeliveryAcknowledgement acknowledgement)
        {
            logger.LogInformation(JsonConvert.SerializeObject(acknowledgement));
            var      user      = userService.GetUser(HttpContext.User.Claims.Where(s => s.Type == "id").FirstOrDefault().Value);
            Delivery modelData = new Delivery
            {
                DeliveryId    = acknowledgement.DeliveryId,
                BaseSignature = acknowledgement.BaseSignature,
                DriverId      = (int)user.UserId
            };
            bool   isSaved = false;
            string message = string.Empty;

            if (modelData.DeliveryId > 0)
            {
                isSaved = deliveryService.UpdateAPIDeliveryAcknowledgement(modelData);
                message = (isSaved) ? "Success" : "Failure";
            }
            else
            {
                message = "Delivery id is empty";
            }
            return(new ResultBase
            {
                Status = isSaved,
                Message = message,
            });
        }
Exemple #2
0
        public async Task SendMessageAsync(string deviceId, byte[] bytes, DeliveryAcknowledgement ack)
        {
            var message = new Message(bytes)
            {
                Ack = ack
            };

            await SendMessageAsync(deviceId, message);
        }
Exemple #3
0
        public static string ConvertDeliveryAckTypeToString(DeliveryAcknowledgement value)
        {
#if PCL
            if (AckTypeMap.ContainsKey(value))
#else
            if (AckTypeMap.Contains(value))
#endif
            {
                return((string)AckTypeMap[value]);
            }

            throw new NotSupportedException("Unknown value: " + value);
        }
Exemple #4
0
        public static string ConvertDeliveryAckTypeToString(DeliveryAcknowledgement value)
        {
            switch (value)
            {
                case DeliveryAcknowledgement.None:
                    return "none";
                case DeliveryAcknowledgement.NegativeOnly:
                    return "negative";
                case DeliveryAcknowledgement.PositiveOnly:
                    return "positive";
                case DeliveryAcknowledgement.Full:
                    return "full";

                default:
                    throw new NotSupportedException("Unknown value: '" + value + "'");
            }
        }
Exemple #5
0
        public static string ConvertDeliveryAckTypeToString(DeliveryAcknowledgement value)
        {
            switch (value)
            {
            case DeliveryAcknowledgement.None:
                return("none");

            case DeliveryAcknowledgement.NegativeOnly:
                return("negative");

            case DeliveryAcknowledgement.PositiveOnly:
                return("positive");

            case DeliveryAcknowledgement.Full:
                return("full");

            default:
                throw new NotSupportedException("Unknown value: '" + value + "'");
            }
        }
Exemple #6
0
        public async Task SendMessageAsync(string deviceId, string stringMessage, DeliveryAcknowledgement ack)
        {
            var bytes = Encoding.ASCII.GetBytes(stringMessage);

            await SendMessageAsync(deviceId, bytes, ack);
        }
 /// <summary>
 /// Send Cloud to device message
 /// </summary>
 /// <param name="deviceId">Device Id</param>
 /// <param name="message">Message to send to device</param>
 /// <param name="requestFeedback">Whether you want to receive feedback on receipt of message from client
 /// the default is None.</param>
 /// <returns></returns>
 public async static Task SendCloudToDeviceMessageAsync(string deviceId, string message, DeliveryAcknowledgement requestFeedback = DeliveryAcknowledgement.None)
 {
     try
     {
         var commandMessage = new Message(Encoding.ASCII.GetBytes(message))
         {
             Ack = requestFeedback
         };
         await serviceClient.SendAsync(deviceId, commandMessage);
     }
     catch (Exception ex)
     {
         Console.WriteLine($"{Utils.FormatExceptionMessage(ex)}");
         throw;
     }
 }