Example #1
0
        public void OrderChange(ChangeOrderRequest changeOrderRequest, Vendor administrativeVendor, List <OrderLine> orderLines)
        {
            StringBuilder     requestString = new StringBuilder();
            XmlWriterSettings settings      = new XmlWriterSettings();

            settings.Encoding = Encoding.UTF8;
            using (XmlWriter xw = XmlWriter.Create(requestString, settings))
            {
                xw.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\"");
                XmlSerializer           serializer = new XmlSerializer(typeof(ChangeOrderRequest));
                XmlSerializerNamespaces nm         = new XmlSerializerNamespaces();
                nm.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                serializer.Serialize(xw, changeOrderRequest, nm);

                XmlDocument document = new XmlDocument();
                document.LoadXml(requestString.ToString());
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(administrativeVendor.VendorSettings.GetValueByKey("EDIUrl", string.Empty));
                request.Method = "POST";

                HttpPurchasePostState state = new HttpPurchasePostState(orderLines, administrativeVendor, request, "OrderChange");

                byte[] byteData = UTF8Encoding.UTF8.GetBytes(document.OuterXml);
                using (Stream s = request.GetRequestStream())
                {
                    s.Write(byteData, 0, byteData.Length);
                }

                IAsyncResult result = request.BeginGetResponse(HttpCallBack, state);
                result.AsyncWaitHandle.WaitOne();
            }
        }
Example #2
0
        public async Task <IActionResult> ChangeOrder(int listId, ChangeOrderRequest request)
        {
            var authorisationResponse = await _listAuthoriser.IsOwner(listId, _userProfileId);

            if (!authorisationResponse.AuthorisationResult)
            {
                return(NotFound());
            }

            await _todoItemsWriter.ChangeOrder(listId, request.todoItemIds);

            return(Ok());
        }
Example #3
0
        public async Task <dynamic> ChangeOrder(ChangeOrderRequest request)
        {
            Guid gameIdGuid;

            if (!Guid.TryParse(request.GameId, out gameIdGuid))
            {
                return(InvalidGameId(request.GameId));
            }

            var gameQuery = _context.Games
                            .Where(g => g.Id == gameIdGuid)
                            .Include(g => g.FirstPlayer)
                            .Include(g => g.SecondPlayer)
                            .Include(g => g.Top.Select(t => t.CardLink.Card));

            var game = await gameQuery.FirstOrDefaultAsync();

            if (game == null)
            {
                return(GameNotFound(request.GameId));
            }

            var player = await _context.Users.FirstOrDefaultAsync(u => u.Id == request.PlayerId);

            if (player == null)
            {
                return(PlayerNotFound(request.PlayerId));
            }

            if (game.FirstPlayer != player && game.SecondPlayer != player)
            {
                return(PlayerNotInGame(request.PlayerId, request.GameId));
            }

            var max = game.Top.Max(t => t.Number);

            for (int i = 0; i < request.Order.Count; i++)
            {
                var top = game.Top.First(t => t.CardLink.Id.ToString() == request.Order[i]);
                top.Number = max - i;
            }
            await _context.SaveChangesAsync();

            return(Json(new Response <bool>
            {
                Result = true
            }));
        }
Example #4
0
        public dynamic ChangeOrder(string gameId, List <string> order)
        {
            order.Reverse();
            var gameRequest = new ChangeOrderRequest
            {
                GameId   = gameId,
                PlayerId = UserId,
                Order    = order
            };
            var result = Network.MakePostRequest <bool>("cards/ChangeOrder", gameRequest);
            var failed = result.StatusCode != HttpStatusCode.OK || result.Data.Failed;

            return(Json(new
            {
                Failed = failed,
                Error = failed ? result.Content : null,
            }));
        }
Example #5
0
 public Task ChangeOrderAsync(int id, [FromBody] ChangeOrderRequest request)
 {
     return(ChangeOrderAsync(id, request.Value));
 }