Advertisement
Guest User

calculadoraController

a guest
Nov 11th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.37 KB | None | 0 0
  1. import 'dart:math';
  2.  
  3. import 'package:bloc_pattern/bloc_pattern.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:rxdart/subjects.dart';
  6. import 'package:rxdart/rxdart.dart';
  7.  
  8.  
  9.  
  10. class CalculadoraController extends BlocBase{
  11.   BehaviorSubject<Map<String, dynamic>> calcBloc =
  12.   new BehaviorSubject<Map<String, dynamic>>();
  13.  
  14.   Stream<Map<String, dynamic>> get outCalc => calcBloc.stream;
  15.   Sink<Map<String, dynamic>> get inCalc => calcBloc.sink;
  16.  
  17.   Map<String, dynamic> calculadora = {
  18.     "altura": 150.0,
  19.     "idade": 25,
  20.     "peso": 50.0,
  21.     "genero": "Masculino",
  22.   };
  23.   IconData icon;
  24.  
  25.   CalculadoraController(){
  26.  
  27.     inCalc.add(calculadora);
  28.   }
  29.  
  30.   addAltura(double altura){
  31.     var calculo = {
  32.       "altura": altura == null ? calculadora["altura"] : altura,
  33.       "idade": calculadora["idade"],
  34.       "peso": calculadora["peso"],
  35.       "genero": calculadora["genero"],
  36.  
  37.     };
  38.     calculadora = calculo;
  39.     inCalc.add(calculadora);
  40.   }
  41.   alteraGenero(String genero){
  42.     var calculo = {
  43.       "altura":  calculadora["altura"],
  44.       "idade": calculadora["idade"],
  45.       "peso": calculadora["peso"],
  46.       "genero": genero,
  47.  
  48.     };
  49.  
  50.     calculadora = calculo;
  51.     inCalc.add(calculadora);
  52.  
  53.   }
  54.  
  55.   @override
  56.   void dispose() {
  57.     // TODO: implement dispose
  58.   }
  59.  
  60. }
  61.  
  62. CalculadoraController calcBloc = new CalculadoraController();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement