public async Task <ActionResult <Order> > Post(Order order) { Random random = new Random(); order.OrderCode = random.Next(999999); order.OrderPlacementDate = DateTime.UtcNow.AddHours(5); order.OrderDeliveryDate = DateTime.UtcNow.AddHours(5); _db.Orders.Update(order); await _db.SaveChangesAsync(); foreach (var item in order.OrderItems) { Product product = await _db.Products.Where(x => x.Id == item.ProductId).FirstOrDefaultAsync(); product.Quantity = product.Quantity - item.Quantity; _db.SaveChangesAsync(); } var User = await _db.Users.Where(x => x.Id == order.UserId).FirstOrDefaultAsync(); EmailService email = new EmailService(_db); SMSService sms = new SMSService(_db); sms.sendOrderCodeSMS(order.OrderCode, User.Contact_Number); email.sendOrderCode(order.OrderCode, User.Email_Address); var Riders = await _db.Users.Where(x => x.RoleId == 4 && x.IsDisabled == false && x.IsVerified == true).ToListAsync(); foreach (var rider in Riders) { var Message = "New Order is placed. login to kuicksave for details"; sms.sendMessage(Message, rider.Contact_Number); } return(CreatedAtAction(nameof(GetSingle), new { id = order.Id }, order)); }