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(); } }
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()); }
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 })); }
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, })); }
public Task ChangeOrderAsync(int id, [FromBody] ChangeOrderRequest request) { return(ChangeOrderAsync(id, request.Value)); }