-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #145 from Nesteo/new-nestingboxes
New nestingboxes
- Loading branch information
Showing
22 changed files
with
607 additions
and
317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
lib/backend/services/nestingboxes/nestingboxes_api_service.chopper.dart
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export 'boxsender_bloc.dart'; | ||
export 'boxsender_event.dart'; | ||
export 'boxsender_state.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
import 'dart:async'; | ||
import 'package:bloc/bloc.dart'; | ||
import 'package:nesteo_app/backend/repositories/auth_repository.dart'; | ||
import 'package:nesteo_app/backend/repositories/nestingboxes_repository.dart'; | ||
import 'package:nesteo_app/model/nestingbox.dart'; | ||
import 'package:nesteo_app/model/owner.dart'; | ||
import 'package:nesteo_app/model/region.dart'; | ||
import 'package:nesteo_app/model/user.dart'; | ||
import './boxsender.dart'; | ||
|
||
class BoxSenderBloc extends Bloc<BoxSenderEvent, BoxSenderState> { | ||
NestingBox lastNewBox; | ||
@override | ||
BoxSenderState get initialState => WaitingForSend(); | ||
|
||
@override | ||
Stream<BoxSenderState> mapEventToState( | ||
BoxSenderEvent event, | ||
) async* { | ||
if (event is SendBoxEvent && state is WaitingForSend) { | ||
yield SendingBoxState(); | ||
var boxRepo = NestingBoxesRepository(event.authBloc); | ||
var authRepo = AuthRepository(event.authBloc); | ||
User user = await authRepo.getAuth(); | ||
|
||
NestingBox response = await boxRepo.addNewNestingBox( | ||
NestingBox( | ||
hangUpUser: user, | ||
coordinateLatitude: event.coordinates.latitude, | ||
coordinateLongitude: event.coordinates.longitude, | ||
hangUpDate: event.hangUpDate, | ||
region: Region( | ||
id: null, | ||
name: "${event?.regionString}", | ||
nestingBoxIdPrefix: (event.regionIdPrefixString == null) | ||
? "X" | ||
: event.regionIdPrefixString, | ||
), | ||
owner: Owner(id: null, name: "${event.ownerString}"), | ||
material: event.material, | ||
holeSize: event.holeSize, | ||
comment: event.comment, | ||
foreignId: event.foreignId, | ||
oldId: event.oldId, | ||
), | ||
); | ||
|
||
if (response != null) { | ||
lastNewBox = response; | ||
yield BoxSentState(); | ||
} else { | ||
yield SendErrorState(); | ||
} | ||
} | ||
if (event is NewBoxDoneEvent) { | ||
yield WaitingForSend(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import 'package:equatable/equatable.dart'; | ||
import 'package:google_maps_flutter/google_maps_flutter.dart'; | ||
import 'package:nesteo_app/blocs/authentication_bloc/authentication_bloc.dart'; | ||
|
||
abstract class BoxSenderEvent extends Equatable { | ||
const BoxSenderEvent(); | ||
} | ||
|
||
class NewBoxDoneEvent extends BoxSenderEvent { | ||
@override | ||
List<Object> get props => null; | ||
} | ||
|
||
class SendBoxEvent extends BoxSenderEvent { | ||
final AuthenticationBloc authBloc; | ||
final LatLng coordinates; | ||
final DateTime hangUpDate; | ||
final String regionString; | ||
final String regionIdPrefixString; | ||
final String ownerString; | ||
final String material; | ||
final String holeSize; | ||
final String comment; | ||
final String oldId; | ||
final String foreignId; | ||
|
||
SendBoxEvent({ | ||
this.authBloc, | ||
this.coordinates, | ||
this.hangUpDate, | ||
this.regionString, | ||
this.regionIdPrefixString, | ||
this.ownerString, | ||
this.material, | ||
this.holeSize, | ||
this.comment, | ||
this.oldId, | ||
this.foreignId, | ||
}) : super(); | ||
|
||
@override | ||
List<Object> get props => null; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import 'package:equatable/equatable.dart'; | ||
|
||
abstract class BoxSenderState extends Equatable { | ||
const BoxSenderState(); | ||
} | ||
|
||
class WaitingForSend extends BoxSenderState { | ||
@override | ||
List<Object> get props => []; | ||
} | ||
|
||
class SendingBoxState extends BoxSenderState { | ||
@override | ||
// TODO: implement props | ||
List<Object> get props => null; | ||
} | ||
|
||
class BoxSentState extends BoxSenderState { | ||
@override | ||
// TODO: implement props | ||
List<Object> get props => null; | ||
} | ||
|
||
class SendErrorState extends BoxSenderState { | ||
@override | ||
// TODO: implement props | ||
List<Object> get props => null; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.