public async Task <ApiResponse <Order> > CreateOrder(string userId, string restaurantOwnerId, OrderPostRequest req, double total) { List <StatusHistoryItem> statusHistoryItems = new List <StatusHistoryItem>(); statusHistoryItems.Add(new StatusHistoryItem { Status = OrderStatuses.PLACED, Date = Utils.GetDateEpoch() }); Order order = new Order { UserId = userId, RestaurantOwnerId = restaurantOwnerId, Date = Utils.GetDateEpoch(), Items = req.Items, RestaurantId = req.RestaurantId, Status = new OrderStatus { CurrentStatus = OrderStatuses.PLACED, StatusHistory = statusHistoryItems }, TotalPrice = total }; string ser = JsonConvert.SerializeObject(order, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var jsonObject = Utils.Deserialize(ser); try { var queryResult = await _firebaseService.GetFirestoreDb().Collection(TableNames.ORDERS).AddAsync(jsonObject); var key = queryResult.Id; order.OrderId = key; return(new ApiResponse <Order> { Success = true, Data = order }); } catch { return(new ApiResponse <Order> { Success = false, ErrorCode = ErrorCodes.UNKNOWN_ERROR }); } }
public async Task <ApiResponse <Restaurant> > CreateRestaurantAsync(string userId, RestaurantPostRequest res) { Restaurant r = new Restaurant { OwnerId = userId, Name = res.Name, Description = res.Description }; var firebase = _firebaseService.GetFirestoreDb(); try { var queryResult = await firebase.Collection(TableNames.RESTAURANTS).AddAsync(r); r.Id = queryResult.Id; return(new ApiResponse <Restaurant> { Success = true, Data = r }); } catch { return(new ApiResponse <Restaurant> { Success = false, ErrorCode = ErrorCodes.UNKNOWN_ERROR }); } }