updateBaseModel method

Object updateBaseModel()

Implementation

Object updateBaseModel() async {
  final model = this;

  BaseModelParm.Pref =
      BaseModelParm.Pref ?? await SharedPreferences.getInstance();
  BaseModelParm.UserId =
      BaseModelParm.UserId ?? await BaseModelParm.Pref.getInt('UserId') ?? 0;
  BaseModelParm.GeoType = BaseModelParm.GeoType ??
      await BaseModelParm.Pref.getString('GeoType') ??
      0;
  BaseModelParm.Gps = BaseModelParm.Gps ?? await UtilRF.geoPosition();

  var userId = BaseModelParm.UserId;
  var geoType = BaseModelParm.GeoType;
  var gps = BaseModelParm.Gps; //await UtilRF.geoPosition();
  var dynModel = Dynamic(model);

  var dataCollectionDate = await dynModel.get('DataCollectionDate');
  var dataCollectionTime = await dynModel.get('DataCollectionTime');
  var dataStatus = await dynModel.get('DataStatus');
  var modifiedBy = await dynModel.get('ModifiedBy');

  dynModel.set('GeoType', geoType!);
  dynModel.set('CompanyCode', '6'); //geo controller
  dynModel.set('TeaEstateCode', '01');
  dynModel.set('EstateDivisionCode', '01');
  dynModel.set('ChildrenClubCode', '01');
  dynModel.set('DataCollectionDate', dataCollectionDate ?? UtilRF.getDate());
  dynModel.set('DataCollectionTime', dataCollectionTime ?? UtilRF.getTime());
  dynModel.set('UserId', userId!); //'pref'
  dynModel.set(
      'Latitude', gps == null ? 0 : gps.latitude.toString()); //SystemRF.gps
  dynModel.set('Longitude', gps == null ? 0 : gps.longitude.toString());
  dynModel.set('DataStatus', dataStatus ?? 0);
  dynModel.set('ModifiedBy', modifiedBy ?? 0);
  dynModel.set('ModificationDate', UtilRF.getDate());

  // in future make it dynamic
  //Dynamic(model).modelMembers.forEach((key, value) {});

  return model;
}