public Response<TemplateDto> Post(TemplateDto template, string clientToken)
        {
            var mappedItem = _mapper.Map(template);

            var addedItem = _templateService.Add(mappedItem);

            var mappedAddedItem = _mapper.Map(addedItem);

            _cache.Add(mappedAddedItem, string.Format(TemplateCacheIdFormat, addedItem.Id));

            return ApiResponse<TemplateDto>.Success(mappedAddedItem);
        }
        public Response<TemplateDto> Put(int id, TemplateDto item)
        {
            var itemToUpdate = _templateService.GetBy(i => i.Id == id);

            if (itemToUpdate == null)
                return ApiResponse<TemplateDto>.BadRequest(string.Format("No template with id {0} can be found.", id));

            item.Id = id;

            var mappedItem = _mapper.Map(item);

            var updatedItem = _templateService.Update(mappedItem);

            var mappedUpdatedItem = _mapper.Map(updatedItem);

            _cache.Update(mappedUpdatedItem, string.Format(TemplateCacheIdFormat, mappedUpdatedItem.Id));

            return ApiResponse<TemplateDto>.Success(mappedUpdatedItem);
        }