示例#1
0
        public HttpResponseMessage Post(DTO.TaskFilter taskFilter)
        {
            #region Preconditions

            if (userTaskFilterRepository == null)
            {
                throw new InvalidOperationException();
            }

            if (taskFilter == null)
            {
                throw new ArgumentNullException();
            }

            #endregion

            var userTaskFilter = UserTaskFilterMapper.TranslateDTOTaskFilterToModelUserTaskFilter(taskFilter);

            int?newId = userTaskFilterRepository.Add(userTaskFilter);

            if (newId == null)
            {
                throw new HttpResponseException(HttpStatusCode.InternalServerError);
            }

            taskFilter.FilterId = newId.Value;

            var response = Request.CreateResponse <DTO.TaskFilter>(HttpStatusCode.Created, taskFilter);

            string uri = Url.Link("AddFilter", new { id = taskFilter.FilterId });
            response.Headers.Location = new Uri(uri);
            return(response);
        }
示例#2
0
        public IHttpActionResult Get(int id)
        {
            #region Preconditions

            if (userTaskFilterRepository == null)
            {
                throw new InvalidOperationException();
            }

            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            #endregion

            try
            {
                var userTaskFilter = userTaskFilterRepository.GetItem(id);

                var dtoTaskFilter = UserTaskFilterMapper.TranslateModelUserTaskFilterToDTOTaskFilter(userTaskFilter);

                return(Ok(dtoTaskFilter));
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
示例#3
0
        public void Put(int id, DTO.TaskFilter taskFilter)
        {
            #region Preconditions

            if (userTaskFilterRepository == null)
            {
                throw new InvalidOperationException();
            }

            if (id <= 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            if (taskFilter == null)
            {
                throw new ArgumentNullException();
            }

            #endregion

            taskFilter.FilterId = id;

            var userTaskFilter = UserTaskFilterMapper.TranslateDTOTaskFilterToModelUserTaskFilter(taskFilter);

            if (!userTaskFilterRepository.Update(userTaskFilter))
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
        }
示例#4
0
        public IHttpActionResult Get(string filterOwnerUserId = null)
        {
            #region Preconditions

            if (userTaskFilterRepository == null)
            {
                throw new InvalidOperationException();
            }

            #endregion

            try
            {
                var userTaskFilters = ((UserTaskFilterRepository)userTaskFilterRepository).GetItems(filterOwnerUserId);

                var dtoTaskFilters = userTaskFilters.Select(utf => UserTaskFilterMapper.TranslateModelUserTaskFilterToDTOTaskFilter(utf));

                return(Ok(dtoTaskFilters));
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }