public async Task <bool> CreateOrderDataAsynq(OrderDataInputModel inputModel) { //get all orders var orders = await this.orderRepository .All() .Where(x => x.IsDeleted == false && x.UserId == inputModel.UserId) .OrderBy(x => x.Quantity) .ToListAsync(); if (inputModel != null && orders.Count >= 1) { var data = new OrderData() { FirstName = inputModel.FirstName, LastName = inputModel.LastName, Address = inputModel.Address, City = inputModel.City, Phone = inputModel.Phone, DeliveryType = inputModel.DeliveryType, PromoCode = inputModel.PromoCode, AdditionalInformation = inputModel.AdditionalInformation, CreatedOn = DateTime.Now, Orders = orders, SubTotal = orders.Sum(x => x.TotalPrice), UserId = inputModel.UserId }; this.repository.Add(data); await this.repository.SaveChangesAsync(); return(true); } throw new InvalidOperationException(GlobalConstants.FinishOrderError); }
public async Task <IActionResult> Post([FromBody] OrderDataInputModel input) { if (this.ModelState.IsValid) { var result = await this.orderDataService.CreateOrderDataAsynq(input); if (result == true) { return(this.Ok(result)); } } return(this.BadRequest("Failed to create data")); }