コード例 #1
0
ファイル: IssuesApi.cs プロジェクト: bratsche/Issues
		public static async Task<Issue> CreateIssue (this IIssuesApi This, Issue issue)
		{
			var json = await This.CreateIssueRaw (issue);
			var response = JsonConvert.DeserializeObject<CreateIssueResponse> (json);

			return response.issue;
		}
コード例 #2
0
ファイル: RefitStubs.cs プロジェクト: bratsche/Issues
 public virtual Task<string> CreateIssueRaw(Issue issue)
 {
     var arguments = new object[] { issue };
     return (Task<string>) methodImpls["CreateIssueRaw"](Client, arguments);
 }
コード例 #3
0
		public CreateIssueViewModel ()
		{
			var device = Resolver.Resolve<IDevice> ();
			mediaPicker = DependencyService.Get<IMediaPicker> () ?? device.MediaPicker;

			// TODO - move this into the view layer and get rid of all these button sources,
			//        just update the images directly in the view layer.
			this.WhenAny (x => x.SelectedButton, x => x.Value)
				.Subscribe (x => {
					this.RaisePropertyChanged<CreateIssueViewModel> ("NormalButtonSource");
					this.RaisePropertyChanged<CreateIssueViewModel> ("MediumButtonSource");
					this.RaisePropertyChanged<CreateIssueViewModel> ("UrgentButtonSource");
				});

			SelectLocation = ReactiveCommand.Create ();

			// This is for our toolbar 'Add' button.
			var canFinish = this.WhenAny (
				x => x.Subject, x => x.Description, x => x.Location, x => x.PreviewSource,
				(subj, desc, loc, src) => !String.IsNullOrWhiteSpace (subj.Value) && !String.IsNullOrWhiteSpace (desc.Value) && loc.Value != null && src.Value != null
			);

			Finish = ReactiveCommand.CreateAsyncTask<Issue> (canFinish, async _ => {
				var issue = new Issue {
					location_id = Location.id,
					subject = Subject,
					description = Description
				};

				var api = RestService.For<IIssuesApi> ("http://localhost:3000/api");
				var response = await api.CreateIssue (issue);

				return await api.AddPhoto (response.id, imageStream);
			});
		}
コード例 #4
0
ファイル: IssueListViewModel.cs プロジェクト: bratsche/Issues
 public IssueTileViewModel(Issue model)
 {
     this.Model = model;
 }