public IActionResult RegisterOrder([FromBody] RegisterOrderModel registerOrderInfo) { try { var registerOrder = new RegisterOrder() { Amount = registerOrderInfo.Amount, CardHolderName = registerOrderInfo.CardHolderName, CardNumber = registerOrderInfo.CardNumber, ExpiryDate = registerOrderInfo.ExpiryDate, Address = registerOrderInfo.Address, Email = registerOrderInfo.Email, Name = registerOrderInfo.Name }; using (var bus = RabbitMqConnectionHelper.Get()) { bus.Publish(registerOrder, cfg => cfg.WithQueueName(RabbitMqServer.Registration.OrderQueue)); return(Ok()); } } catch (Exception exception) { return(BadRequest(exception.Message)); } }
public async Task <IActionResult> Post([FromBody] RegisterOrderModel model) { /* var unitOfWork = new OrderUnityOfWork(); * * * * var order = new Order(orderDate: model.OrderDate, * OrderItem: OrderItem(quantidade:)); * * var invoiceRepository = new InvoiveRepository(unitOfWork); * * await invoiceRepository.Add(invoice); * * unitOfWork.BeginTansaction(); * await invoiceRepository.Add(invoice); * await unitOfWork.Commit(); */ return(Ok()); }
public ActionResult Register(RegisterOrderModel model) { var result = new Dictionary<string, object> { ["isSuccess"] = false, ["error"] = "Something was wrong. Order has not been added to the database" }; if (this.ModelState.IsValid) { var helper = new HelperRepository(); var insertedOrderId = helper.InsertOrder( model.CustomerId, model.ProductId, model.Count); result["success"] = "Product has been sold"; result["model"] = HelperConverter.GetOrderRowJsonString(insertedOrderId); result["isSuccess"] = true; } return this.Json(result, JsonRequestBehavior.DenyGet); }
public void Post([FromBody] RegisterOrderModel model) { Guard.AgainstNull(model, "model"); Guard.AgainstNull(model.TargetSystem, "model.TargetSystem"); Guard.Against <Exception>(model.ProductIds.Count == 0, "No products have been selected."); var message = new RegisterOrderProcessCommand { CustomerName = model.CustomerName, CustomerEMail = model.CustomerEMail, TargetSystem = model.TargetSystem }; switch (model.TargetSystem.ToLower(CultureInfo.InvariantCulture)) { case "custom": { message.TargetSystemUri = "msmq://./process-custom-server"; break; } case "custom / event-source": { message.TargetSystemUri = "msmq://./process-custom-es-server"; break; } case "event-source / module": { message.TargetSystemUri = "msmq://./process-es-module-server"; break; } default: { throw new ApplicationException(string.Format("Unknown target system '{0}'.", model.TargetSystem)); } } foreach (var productIdValue in model.ProductIds) { Guid productId; if (!Guid.TryParse(productIdValue, out productId)) { throw new ArgumentException(string.Format("Product id '{0}' is not a valid guid.", productIdValue)); } var productRow = _productQuery.Get(productId); message.QuotedProducts.Add(new QuotedProduct { ProductId = productId, Description = ProductColumns.Description.MapFrom(productRow), Price = ProductColumns.Price.MapFrom(productRow) }); } _bus.Send(message, c => { c.WithRecipient(message.TargetSystemUri); c.Headers.Add(new TransportHeader { Key = "TargetSystem", Value = message.TargetSystem }); }); }