/// <summary> /// É executado quando a validação de um modelo falha, retornando 400(Bad Request) e uma mensagem de erro /// </summary> /// <param name="actionContext"> /// Representa o contexto em que a ação ocorreu /// </param> public override void OnActionExecuting(HttpActionContext actionContext) { if (!actionContext.ModelState.IsValid) { var errorList = actionContext.ModelState.Values.SelectMany(m => m.Errors) .Select(e => e.ErrorMessage).Where(e => e != "") .ToList(); var error = new DescriptionMessage(HttpStatusCode.BadRequest, "Invalid value", errorList); actionContext.Response = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new ObjectContent(error.GetType(), error, new JsonMediaTypeFormatter()), ReasonPhrase = "Invalid Value Supplied" }; } }
public void TraiterMessageConsommer(object sender, MessageBodyEvent e) { DescriptionMessage descriptionMessage = JsonConvert.DeserializeObject <DescriptionMessage>(e.Message); Task <ActionResult <ProduitItem> > p = new ProduitItemsController(null).GetProduitItem((int)descriptionMessage.Donnees[0]); if (p.Result.Value.Stock >= (int)descriptionMessage.Donnees[1]) { p.Result.Value.Stock -= (int)descriptionMessage.Donnees[1]; Task <IActionResult> pp = new ProduitItemsController(null).PutProduitItem(p.Result.Value.Id, p.Result.Value); Debug.WriteLine("\n\n" + pp.ToString() + "\n\n"); if (pp.ToString().Equals("Microsoft.AspNetCore.Mvc.NoContentResult")) { _reponse = "Valide"; } else { _reponse = "Non"; } } else { _reponse = "Non"; } IBasicProperties replyBasicProperties = e.Model.CreateBasicProperties(); replyBasicProperties.CorrelationId = e.BasicProperties.CorrelationId; byte[] responseBytes = Encoding.UTF8.GetBytes(_reponse); e.Model.BasicPublish("", e.BasicProperties.ReplyTo, replyBasicProperties, responseBytes); }
private void ProcessDescriptionMessage(Guid sender_id, TypedMessage message) { log.Append("ProcessDescriptionMessage", String.Format("Description from {0}", sender_id.ToString())); DescriptionMessage description = new DescriptionMessage(message.data); if (aliveServers.GetItem(sender_id) == null) { bool alreadySaved = DatabaseHelper.GetServerSaved(database, sender_id); ServerData serverData = new ServerData(sender_id, description.Name, description.Location, description.Description, description.Sensors, description.PictureBytes); if (alreadySaved == false) { DatabaseHelper.SaveServerConfigData(database, serverData); } AddAliveServer(serverData); } log.Append("ProcessDescriptionMessage", String.Format("Description from {0} at {1}", description.Name, sender_id.ToString())); //MessageBox.Show(String.Format("Description from {0} at {1}", description.Name, sender.ToString())); }
void networkNode_MessageReceived(object sender, MessageEventArgs args) { log.Append("networkNode_MessageReceived", String.Format("Message Received from {0}", args.SenderID.ToString())); TypedMessage message = new TypedMessage(args.Data, args.Data.Length); switch (message.type) { case MessageType.DescriptionRequest: log.Append("networkNode_MessageReceived", "Description Request received"); DescriptionMessage description = new DescriptionMessage(CurrentServerData); TypedMessage reply = new TypedMessage(MessageType.DescriptionMessage, description.GetBytes()); networkNode.SendDirect(reply.GetBytes(), args.SenderID); break; default: break; } }