Esempio n. 1
0
        public async Task <IEnumerable <AsanaTask> > GetAsync(AsanaTaskQuery query)
        {
            var baseUrl = _asanaParams.TasksUrl + "?";
            var url     = baseUrl;

            url = query.Workspace != null ? url + $"workspace={query.Workspace}&": url;
            url = query.Assignee != null  ? url + $"assignee={query.Assignee}&" : url + $"assignee=me&";
            url = query.Project != null ? baseUrl + $"project={query.Project}&" : url;
            url = query.Tag != null ? baseUrl + $"tag={query.Tag}" : url;
            url = query.CompletedSince != null  ? url + $"completed_since={query.CompletedSince}&" : url;
            url = query.ModifiedSince != null ? url + $"modified_since={query.ModifiedSince}&" : url;


            var uri = new Uri(url);

            try
            {
                var response = await _restClient.GetAsync <JObject>(uri);

                var result = response.GetValue("data").ToObject <IEnumerable <AsanaTask> >();
                return(result);
            }
            catch (Exception exp)
            {
                Logger.GetLogger().Error($"terminalAsana error = {exp.Message}");
                throw;
            }
        }
Esempio n. 2
0
        public async Task Should_Get_Tasks_WithWorkspaceAndUser()
        {
            _restClientMock.Setup(x => x.GetAsync <JObject>(
                                      It.Is <Uri>(y => y.AbsoluteUri.Equals(new Uri(_parameters.TasksUrl + "?workspace=1&assignee=me&").AbsoluteUri)),
                                      It.IsAny <string>(),
                                      It.IsAny <Dictionary <string, string> >()
                                      )).ReturnsAsync(JObject.Parse(Fixtures.FixtureData.SampleTasksDataResponse()));

            var query = new AsanaTaskQuery()
            {
                Workspace = "1"
            };


            var tasks = await _asanaTasksService.GetAsync(query);

            //Assertion
            Assert.IsNotNull(tasks);
            _restClientMock.Verify();
        }
Esempio n. 3
0
        public override async Task Run()
        {
            var query = new AsanaTaskQuery()
            {
                Workspace = ActivityUI.WorkspacesList.Value,
                Assignee  = ActivityUI.UsersList.Value,
                Project   = ActivityUI.ProjectsList.Value
            };

            var tasks = await AClient.Tasks.GetAsync(query);

            var dataRows = tasks.Select(t => new TableRowDTO()
            {
                Row =
                {
                    new TableCellDTO()
                    {
                        Cell = new KeyValueDTO("Task name", t.Name)
                    },
                    new TableCellDTO()
                    {
                        Cell = new KeyValueDTO("Task id", t.Id)
                    }
                }
            }).ToList();

            var payload = new StandardTableDataCM()
            {
                Table = dataRows
            };
            var customPayload = new AsanaTaskListCM()
            {
                Tasks = tasks.Select(t => Mapper.Map <AsanaTaskCM>(t)).ToList()
            };

            Payload.Add(RunTimeCrateLabel, payload);
            Payload.Add(RunTimeCrateLabelCustomCM, customPayload);
        }