public async Task <OrderPropositionWithResultCode> CreateOrderProposition(DateTime timeToOrdering, Guid userId, Guid restaurantId)
        {
            DataSet dataSet = await _storedProceduresExecutor.ExecuteQuery(StoredProceduresNames.CreateOrderProposition,
                                                                           new List <SqlParameter>(3)
            {
                new SqlParameter("@userId", userId),
                new SqlParameter("@timeToOrdering", timeToOrdering),
                new SqlParameter("@restaurantId", restaurantId)
            });

            int resultCode = (int)dataSet.Tables[0].Rows[0][0];
            OrderPropositionCreateSqlResult result = (OrderPropositionCreateSqlResult)resultCode;

            OrderProposition orderProposition = null;

            if (result == OrderPropositionCreateSqlResult.Success)
            {
                orderProposition = _dataRowToObjectMapper.ConvertOrderProposition(dataSet.Tables[1].Rows[0]);
            }
            return(new OrderPropositionWithResultCode(orderProposition, result));
        }
 public OrderPropositionWithResultCode(OrderProposition orderProposition, OrderPropositionCreateSqlResult resultCode)
 {
     OrderProposition = orderProposition;
     ResultCode       = resultCode;
 }