public IHttpActionResult GetById(int id, TaskResponseDataSetType responseDataSetType = TaskResponseDataSetType.Detail)
        {
            switch (responseDataSetType)
            {
            case TaskResponseDataSetType.Detail:
            {
                var task = _tasksDataManager.GetById <TaskDetail>(id);
                return(Ok(task));
            }

            case TaskResponseDataSetType.Header:
            {
                var task = _tasksDataManager.GetById <TaskBase>(id);
                return(Ok(task));
            }

            case TaskResponseDataSetType.HeaderWithPriorityAndContext:
            {
                var task = _tasksDataManager.GetById <TaskBaseWithPriorityAndContext>(id);
                return(Ok(task));
            }
            }

            throw new HttpResponseException(System.Net.HttpStatusCode.InternalServerError);
        }
        public IHttpActionResult GetFiltered(string timeType = null, int?projectID = null, string searchPhrase = null, DateTime?date = null, TaskType tasksType = TaskType.All, TaskResponseDataSetType responseDataSetType = TaskResponseDataSetType.Detail)
        {
            switch (responseDataSetType)
            {
            case TaskResponseDataSetType.Detail:
            {
                var tasks = _tasksDataManager.GetFiltered <TaskDetail>(new TaskGetFilteredArgs(timeType, tasksType, projectID, searchPhrase, date));
                return(Ok(tasks));
            }

            case TaskResponseDataSetType.Header:
            {
                var tasks = _tasksDataManager.GetFiltered <TaskBase>(new TaskGetFilteredArgs(timeType, tasksType, projectID, searchPhrase, date));
                return(Ok(tasks));
            }

            case TaskResponseDataSetType.HeaderWithPriorityAndContext:
            {
                var tasks = _tasksDataManager.GetFiltered <TaskBaseWithPriorityAndContext>(new TaskGetFilteredArgs(timeType, tasksType, projectID, searchPhrase, date));
                return(Ok(tasks));
            }
            }

            throw new HttpResponseException(System.Net.HttpStatusCode.InternalServerError);
        }
Example #3
0
        private async Task <T> GetTasks <T>(string timeType = null, int?projectID = null, string searchPhrase = null, string date = null, TaskType tasksType = TaskType.All, TaskResponseDataSetType taskResponseType = TaskResponseDataSetType.Detail) where T : new()
        {
            string getTasksUri             = ApiUriBuilder.GetTasksUri.ToString();
            NameValueCollection parameters = new NameValueCollection()
            {
                { "timeType", timeType },
                { "projectID", projectID?.ToString() },
                { "searchPhrase", searchPhrase },
                { "date", date },
                { "tasksType", tasksType.GetEnumName() },
                { "responseDataSetType", taskResponseType.GetEnumName() },
            };

            return(await _apiRequestHandler.ExecuteGetAsync <T>(getTasksUri, parameters));
        }