public ConfigurationServiceResponse Save(DCTemplateContract template)
        {
            var response = new ConfigurationServiceResponse();

            try {
                var templateRepository    = new DCTemplateRepository <DCTemplateModel>(UserConnection);
                var repositoryReadOptions = new DCRepositoryReadOptions <DCTemplateModel, DCReplicaModel> {
                    TemplateReadOptions = DCTemplateReadOption.ExcludeAttributes
                                          | DCTemplateReadOption.ExcludeReplicaHtmlContent
                };
                var existedTemplate = templateRepository.ReadByRecordId(template.RecordId, repositoryReadOptions);
                if (existedTemplate != null)
                {
                    template.Id = existedTemplate.Id;
                }
                else if (template.Id.Equals(Guid.Empty))
                {
                    template.Id = Guid.NewGuid();
                }
                templateRepository.Save((DCTemplateModel)template);
            } catch (Exception e) {
                response.Exception = e;
            }
            return(response);
        }
        public ConfigurationServiceResponse Delete(Guid templateId)
        {
            var response = new ConfigurationServiceResponse();

            try {
                var templateRepository = new DCTemplateRepository <DCTemplateModel>(UserConnection);
                response.Success = templateRepository.Delete(templateId);
            } catch (Exception e) {
                response.Exception = e;
            }
            return(response);
        }
        public DCTemplateContractResponse Read(Guid templateId)
        {
            var response = new DCTemplateContractResponse();

            try {
                var templateRepository = new DCTemplateRepository <DCTemplateModel>(UserConnection);
                var templateModel      = templateRepository.Read(templateId);
                response.TemplateContract = (DCTemplateContract)templateModel;
            } catch (Exception e) {
                response.Exception = e;
            }
            return(response);
        }