Browse Source

get all action type

smf
daivph 4 years ago
parent
commit
4849e7b242
10 changed files with 37 additions and 45 deletions
  1. +24
    -0
      lib/custom_model/ActionType.dart
  2. +2
    -1
      lib/data/api/rest_client.dart
  3. +4
    -4
      lib/data/repository/repository.dart
  4. +0
    -15
      lib/models/ActionType.dart
  5. +0
    -21
      lib/models/ActionType.g.dart
  6. +0
    -1
      lib/models/index.dart
  7. +1
    -0
      lib/presentation/screens/actions/other/sc_edit_action_other.dart
  8. +3
    -2
      lib/presentation/screens/plot_detail/bloc/cubit/plot_action_type_cubit.dart
  9. +2
    -1
      lib/presentation/screens/plot_detail/sc_plot_action.dart
  10. +1
    -0
      pubspec.yaml

+ 24
- 0
lib/custom_model/ActionType.dart View File

class ActionType {
int id;
String name;
String description;
String urlLogo;

ActionType({this.id, this.name, this.description, this.urlLogo});

ActionType.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
description = json['description'];
urlLogo = json['urlLogo'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
data['description'] = this.description;
data['urlLogo'] = this.urlLogo;
return data;
}
}

+ 2
- 1
lib/data/api/rest_client.dart View File

import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:farm_tpf/custom_model/ActionType.dart';
import 'package:farm_tpf/custom_model/CropPlot.dart'; import 'package:farm_tpf/custom_model/CropPlot.dart';
import 'package:farm_tpf/custom_model/Device.dart'; import 'package:farm_tpf/custom_model/Device.dart';
import 'package:farm_tpf/custom_model/EnvironmentParameter.dart'; import 'package:farm_tpf/custom_model/EnvironmentParameter.dart';
import 'package:farm_tpf/custom_model/password.dart'; import 'package:farm_tpf/custom_model/password.dart';
import 'package:farm_tpf/custom_model/user.dart'; import 'package:farm_tpf/custom_model/user.dart';
import 'package:farm_tpf/custom_model/user_request.dart'; import 'package:farm_tpf/custom_model/user_request.dart';
import 'package:farm_tpf/models/index.dart';
import 'package:farm_tpf/utils/const_common.dart'; import 'package:farm_tpf/utils/const_common.dart';
import 'package:retrofit/retrofit.dart'; import 'package:retrofit/retrofit.dart';


Future<List<TbCropDTO>> getPlots( Future<List<TbCropDTO>> getPlots(
{@Path() int page = 0, @Path() int size = 20, @Path() String query = ""}); {@Path() int page = 0, @Path() int size = 20, @Path() String query = ""});


//TODO: check clean code
@GET("/api/listActivityTypesOther") @GET("/api/listActivityTypesOther")
Future<List<ActionType>> getActionTypes({@DioOptions() Options options}); Future<List<ActionType>> getActionTypes({@DioOptions() Options options});



+ 4
- 4
lib/data/repository/repository.dart View File



import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:dio_http_cache/dio_http_cache.dart'; import 'package:dio_http_cache/dio_http_cache.dart';
import 'package:farm_tpf/custom_model/ActionType.dart';
import 'package:farm_tpf/custom_model/CropPlot.dart'; import 'package:farm_tpf/custom_model/CropPlot.dart';
import 'package:farm_tpf/custom_model/Device.dart'; import 'package:farm_tpf/custom_model/Device.dart';
import 'package:farm_tpf/custom_model/EnvironmentParameter.dart'; import 'package:farm_tpf/custom_model/EnvironmentParameter.dart';
} }


//NEW IMPLEMENT //NEW IMPLEMENT
Future<void> actionTypes(int cropTypeId, Function(List<ActionType>) onSuccess,
Function(dynamic) onError) async {
Future<void> allActionTypes(
Function(List<ActionType>) onSuccess, Function(dynamic) onError) async {
try { try {
var url =
'${ConstCommon.baseUrl}/api/listActivityTypesCulture/$cropTypeId';
var url = '${ConstCommon.baseUrl}/api/tb-activity-types';


final Response<List<dynamic>> _result = await dio.get(url); final Response<List<dynamic>> _result = await dio.get(url);
var value = _result.data var value = _result.data

+ 0
- 15
lib/models/ActionType.dart View File

import 'package:json_annotation/json_annotation.dart';

part 'ActionType.g.dart';

@JsonSerializable()
class ActionType {
ActionType();

num id;
String name;
String description;
factory ActionType.fromJson(Map<String,dynamic> json) => _$ActionTypeFromJson(json);
Map<String, dynamic> toJson() => _$ActionTypeToJson(this);
}

+ 0
- 21
lib/models/ActionType.g.dart View File

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'ActionType.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

ActionType _$ActionTypeFromJson(Map<String, dynamic> json) {
return ActionType()
..id = json['id'] as num
..name = json['name'] as String
..description = json['description'] as String;
}

Map<String, dynamic> _$ActionTypeToJson(ActionType instance) =>
<String, dynamic>{
'id': instance.id,
'name': instance.name,
'description': instance.description,
};

+ 0
- 1
lib/models/index.dart View File

export 'ResourceHelper.dart'; export 'ResourceHelper.dart';
export 'ActionType.dart';

+ 1
- 0
lib/presentation/screens/actions/other/sc_edit_action_other.dart View File

import 'dart:convert'; import 'dart:convert';


import 'package:farm_tpf/custom_model/ActionType.dart';
import 'package:farm_tpf/custom_model/Other.dart'; import 'package:farm_tpf/custom_model/Other.dart';
import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';

+ 3
- 2
lib/presentation/screens/plot_detail/bloc/cubit/plot_action_type_cubit.dart View File

import 'package:bloc/bloc.dart'; import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:farm_tpf/custom_model/ActionType.dart';
import 'package:farm_tpf/data/api/app_exception.dart'; import 'package:farm_tpf/data/api/app_exception.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/models/index.dart'; import 'package:farm_tpf/models/index.dart';
final Repository repository; final Repository repository;
PlotActionTypeCubit(this.repository) : super(PlotActionTypeInitial()); PlotActionTypeCubit(this.repository) : super(PlotActionTypeInitial());


Future<void> getActionTypes(int cropTypeId) async {
Future<void> getAllActionTypes() async {
try { try {
emit(PlotActionTypeLoading()); emit(PlotActionTypeLoading());
await repository.actionTypes(cropTypeId, (data) {
await repository.allActionTypes((data) {
emit(PlotActionTypeSuccess(data)); emit(PlotActionTypeSuccess(data));
}, (error) { }, (error) {
emit(PlotActionTypeError(AppException.handleError(error))); emit(PlotActionTypeError(AppException.handleError(error)));

+ 2
- 1
lib/presentation/screens/plot_detail/sc_plot_action.dart View File

import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
import 'package:farm_tpf/custom_model/ActionType.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/models/index.dart'; import 'package:farm_tpf/models/index.dart';
import 'package:farm_tpf/presentation/custom_widgets/loading_list_page.dart'; import 'package:farm_tpf/presentation/custom_widgets/loading_list_page.dart';
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BlocProvider( return BlocProvider(
create: (contex) => create: (contex) =>
PlotActionTypeCubit(Repository())..getActionTypes(widget.cropType),
PlotActionTypeCubit(Repository())..getAllActionTypes(),
child: BlocBuilder<PlotActionTypeCubit, PlotActionTypeState>( child: BlocBuilder<PlotActionTypeCubit, PlotActionTypeState>(
builder: (context, state) { builder: (context, state) {
if (state is PlotActionTypeLoading) { if (state is PlotActionTypeLoading) {

+ 1
- 0
pubspec.yaml View File

flutter_image_compress: ^0.7.0 flutter_image_compress: ^0.7.0
flutter_svg: ^0.19.1 flutter_svg: ^0.19.1
google_fonts: ^1.1.1 google_fonts: ^1.1.1


dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

Loading…
Cancel
Save