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; }
public virtual Task<string> CreateIssueRaw(Issue issue) { var arguments = new object[] { issue }; return (Task<string>) methodImpls["CreateIssueRaw"](Client, arguments); }
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); }); }
public IssueTileViewModel(Issue model) { this.Model = model; }