Example #1
0
        public IActionResult UpdateDelivery(Delivery delivery)
        {
            if (!_permissionService.Authorize("UpdateDelivery"))
            {
                return(Error("无操作权限!"));
            }
            delivery.Code     = delivery.Code.Trim();
            delivery.Name     = delivery.Name.Trim();
            delivery.ShopCode = delivery.ShopCode?.Trim();
            var result = _deliveriesService.ConfirmDeliveryIsExist(delivery.Code);

            if (result == null || result.Id == delivery.Id)
            {
                if (result == null)
                {
                    _deliveriesService.UpdateDelivery(delivery);
                    return(Success());
                }
                else
                {
                    result.Name     = delivery.Name;
                    result.Code     = delivery.Code;
                    result.ShopCode = delivery.ShopCode;
                    _deliveriesService.UpdateDelivery(result);
                    return(Success());
                }
            }
            else
            {
                return(Error("已有相同编码物流方式!"));
            }
        }
        public async Task <HttpResponseMessage> UpdateDelivery(
            [HttpTrigger(AuthorizationLevel.Function, "put", Route = "Deliveries/{id}")] HttpRequest req, string id)
        {
            string token = req.Headers["Authorization"].ToString().Replace("Bearer ", "");

            if (_authorizationsService.IsTokenValid(token, true))
            {
                StreamReader r           = new StreamReader(req.Body);
                string       requestBody = await r.ReadToEndAsync();

                r.Dispose(); // Dispose StreamReader so it cannot be used anymore
                Delivery result = await _deliveriesService.UpdateDelivery(JsonConvert.DeserializeObject <Delivery>(requestBody));

                return(result != null
                    ? new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(result, new JsonSerializerSettings()
                    {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    }), Encoding.UTF8, "application/json")
                }
                    : new HttpResponseMessage(HttpStatusCode.BadRequest));
            }
            // Authorized access only
            return(new HttpResponseMessage(HttpStatusCode.Unauthorized));
        }