How to save data using sqflite in flutter?

I have develop little application in flutter , to do some calculations , i'm loading default values for calculation from the sqflite database using BehaviorSubject stream ,

And then i display data in screen , by tapping calculate button user can calculate the result and result is displayed in flutter table widget.

Now i need to save calculation in database for future references ,

the question is how to access the calculation results inside table.

Here is my code.

My BloC class

class ConcreteBLoC extends EstimationBlocBase {
  final int typeId;
  BLoCProvider provider;

  BehaviorSubject<EstimationResult> _subjectCalcResult;

  ConcreteBLoC(this.typeId) {
     provider = BLoCProvider(typeId);
    _subjectCalcResult = new BehaviorSubject<EstimationResult>();
    provider.getInitialData().then((onValue)=>{
      _subjectCalcResult.add(onValue)
    });
  }

  Observable<EstimationResult> resultObservable() {
    return _subjectCalcResult.stream;
  }

  void updateResult(String length, String width, String thick, int selectedRatio) {
    provider.calculateResult(length, width, thick, selectedRatio);
    _subjectCalcResult.add(provider.result);
  }

  void dispose() {
    _subjectCalcResult.close();
  }
}

in this bloc i load default data and add to sink.

My BlocProvider

class BLoCProvider {
    // ...... More codes here
  Future<EstimationResult> getInitialData() async{
    List<Material> resultList = new List();
    List<Material> materials = await materialRepository.getMaterialsForEsType(id); 
    var material;
    materials.forEach((f)=>{
      material = new Material(),
      material.name = f.name,
      material.id = f.id,
      material.qty = 0.0,
      material.unit = "kg",

      resultList.add(material)
    });

    var estimation = new EstimationResult();
    estimation.materials = resultList;
    estimation.totalRootMaterialValue = 0.0;
    estimation.rootMatrialText = "Total concrete area : ";
    return estimation;
  }
  // ....... More codes here!
}

Load initial data from database

My Statefulwidget build method

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: ... APP BAR CODE
        body: GestureDetector(
          onTap: () {
            FocusScope.of(context).requestFocus(new FocusNode());
          },
          child: CustomScrollView(
            slivers: <Widget>[
              SliverList(
                delegate: SliverChildListDelegate([
                  Container(
                    padding: EdgeInsets.all(15.0),
                    child: StreamBuilder<EstimationResult>(
                        stream: _bloc.resultObservable(),
                        builder: (context,
                            AsyncSnapshot<EstimationResult> snapshot) {
                          if (snapshot.hasData) {
                            return _buildMainUI(snapshot.data);
                          }else{
                            return new Center(child: new CircularProgressIndicator());
                          }
                        }),
                  )
                ]),
              )
            ],
          ),
        ));
  }

Create widget UI using stream data

 Widget _buildMainUI(EstimationResult data) {
    return Column(
      children: <Widget>[
        Form(
          key: _formKey,
          autovalidate: _autoValidate,
          child: _formUI(),
        ),
        ButtonBar(
          alignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            cw.getRaisedButton(Colors.white, Theme.of(context).buttonColor,
                "CALCULATE", _calculate),
            cw.getRaisedButton(
                Colors.white, Theme.of(context).buttonColor, "SAVE", _save),
            cw.getRaisedButton(
                Colors.white, Theme.of(context).buttonColor, "RESET", _reset),
          ],
          mainAxisSize: MainAxisSize.max,
        ),
        cw.getDividerWidget(Theme.of(context).dividerColor),
        _buildCalculationResultTable(data),
      ],
    );
  }

In here i have calculate button , when user click on calculate button , that will call to bloc's calculate method and return some calculation results and that will be reflect on again _buildCalculationResultTable

Now i need to know how to save this result to db ?

Can't we save data using Bloc's BehaviorSubject Or do we have to pass a model with data to bloc again ?

Im quite new to flutter so , please help me to resolve this ,

Thanks!