public ActionResult <OrderOutputDTO> PurchaseItem(OrderInputDTO itemPurchased) { ClaimsIdentity ci = HttpContext.User.Identities.FirstOrDefault(); Claim c = ci.FindFirst("UserName"); string username = c.Value; Order o = new Order { UserName = username, ProductID = itemPurchased.ProductID, Quantity = itemPurchased.Quantity }; Order newOrder = _repository.newOrder(o); //ProductID is always valid in A2 OrderOutputDTO orderOut = new OrderOutputDTO { Id = newOrder.Id, UserName = newOrder.UserName, ProductID = newOrder.ProductID, Quantity = newOrder.Quantity }; return(Ok(orderOut)); }
public OrderOutputDTO GetOrderById(int orderId) { Order order = this.customerService.GetOrderById(orderId); IList <ConfiguratedMealDTO> configuredMeal = new List <ConfiguratedMealDTO>(); if (order.ConfiguredMeals != null) { IList <string> garnishiesNames = new List <string>(); foreach (var cm in order.ConfiguredMeals) { ConfiguratedMealDTO configMeal = new ConfiguratedMealDTO(); if (order.ConfiguredMeals != null) { if (cm.SelectedGarnishes != null) { foreach (var g in cm.SelectedGarnishes) { garnishiesNames.Add(g.Name); } } configMeal.Meal = new MealOutputDTO { Id = cm.Meal.Id, Days = cm.Meal.Days, Description = cm.Meal.Description, GarnishiesName = garnishiesNames, Name = cm.Meal.Name, Price = cm.Meal.Price }; configuredMeal.Add(configMeal); } } } OrderOutputDTO orderDTO = new OrderOutputDTO { Id = order.Id, Seller = new UserOutputDTO { Id = order.Seller.Id, Name = order.Seller.Name, Email = order.Seller.Email }, Customer = new UserOutputDTO { Id = order.Customer.Id, Name = order.Customer.Name, Email = order.Customer.Email }, ConfiguredMeals = configuredMeal, Status = (OrderStatusEnumDTO)order.Status, Withdrawal = new WithdrawalInputDTO { CEP = order.Withdrawal.CEP, FinalHour = Convert.ToString(order.Withdrawal.FinalHour), InitialHour = Convert.ToString(order.Withdrawal.InitialHour), Latitude = order.Withdrawal.Latitude, Longitude = order.Withdrawal.Longitude, Number = order.Withdrawal.Number, SellerId = order.Withdrawal.Seller.Id, Street = order.Withdrawal.Street } }; return(orderDTO); }