コード例 #1
0
        public int Add(CreateTemplateVersionRequest templateVersion)
        {
            TemplateVersionDomain previousTemplateVersionDomain = GetDefaultByTemplateId(templateVersion.TemplateId);

            previousTemplateVersionDomain.IsDefault = false;
            string Code       = previousTemplateVersionDomain.Code;
            string newCode    = Regex.Match(Code, REGEX_NUMBER).Value;
            int    codeNumber = Int32.Parse(newCode) + 1;
            Regex  r          = new Regex(REGEX_NUMBER);

            Code = r.Replace(Code, codeNumber.ToString());
            TemplateVersionDomain templateVersionDomain = new TemplateVersionDomain
            {
                Code        = Code,
                TemplateId  = templateVersion.TemplateId,
                IsDefault   = true,
                DateCreated = DateTime.Now,
                Content     = JsonConvert.SerializeObject(templateVersion.Content)
            };
            var result = _templateVersionRepository.Add(templateVersionDomain);

            if (result <= 0)
            {
                throw new NsiBaseException(string.Format(TemplateManagementMessages.TemplateCreationFailed));
            }
            _templateVersionRepository.UpdateTemplateVersion(previousTemplateVersionDomain);
            return(result);
        }
コード例 #2
0
ファイル: TemplateVersionRepository.cs プロジェクト: adkl/nsi
        public void UpdateTemplateVersion(TemplateVersionDomain templateVersion)
        {
            var templateVersionDb = _context.TemplateVersion.FirstOrDefault(x => x.TemplateVersionId == templateVersion.Id);

            templateVersionDb.FromDomainModel(templateVersion);
            _context.SaveChanges();
        }
コード例 #3
0
ファイル: TemplateVersionRepository.cs プロジェクト: adkl/nsi
        /// <summary>
        /// Adds new templateversion
        /// </summary>
        /// <returns></returns>
        public int Add(TemplateVersionDomain templateVersion)
        {
            var templateVersionDb = new TemplateVersion().FromDomainModel(templateVersion);

            _context.TemplateVersion.Add(templateVersionDb);
            _context.SaveChanges();
            return(templateVersionDb.TemplateVersionId);
        }
コード例 #4
0
 public int Add(TemplateVersionDomain templateVersion)
 {
     if (templateVersion == null)
     {
         throw new NsiArgumentException(ExceptionMessages.ArgumentException);
     }
     return(_templateVersionRepository.Add(templateVersion));
 }
コード例 #5
0
ファイル: TemplateVersionExtension.cs プロジェクト: adkl/nsi
 public static ICollection <TemplateVersionDomain> ToDomainModelsCollection(this ICollection <TemplateVersion> templateVersionsDb)
 {
     return(templateVersionsDb == null ?
            null : templateVersionsDb.Select(templateVersionDb => {
         TemplateVersionDomain tvd = templateVersionDb.ToDomainModel();
         return tvd;
     }).ToList());
 }
コード例 #6
0
        public GeneratedDocumentDomain ExportTemplate(int templateVersionId, DocumentTypeEnum outputDocType)
        {
            TemplateVersionDomain templateVersionDomain = _templateVersionManipulation.GetByVersionId(templateVersionId);

            if (templateVersionDomain == null)
            {
                throw new NsiArgumentNullException(TemplateManagementMessages.TemplateVersionInvalidId);
            }
            string name = _templateManipulation.GetTemplateNameById(templateVersionDomain.TemplateId);
            GeneratedDocumentDomain generatedDocumentDomain = _documentGenerator.Generate(templateVersionDomain.Content, name,
                                                                                          DocumentTypeEnum.Json, outputDocType, templateVersionId);

            return(generatedDocumentDomain);
        }
コード例 #7
0
ファイル: TemplateVersionExtension.cs プロジェクト: adkl/nsi
        public static TemplateVersion FromDomainModel(this TemplateVersion obj, TemplateVersionDomain domain)
        {
            if (obj == null)
            {
                obj = new TemplateVersion();
            }

            obj.TemplateVersionId = domain.Id;
            obj.IsDefault         = domain.IsDefault;
            obj.DateCreated       = domain.DateCreated;
            obj.TemplateId        = domain.TemplateId;
            obj.Content           = domain.Content;
            obj.Code = domain.Code;
            return(obj);
        }
コード例 #8
0
        public int Add(CreateTemplateRequest template)
        {
            if (!_folderManipulation.Exists(template.FolderId))
            {
                throw new NsiArgumentException(string.Format(TemplateManagementMessages.FolderInvalidId));
            }

            TemplateDomain templateDomain = new TemplateDomain
            {
                Name        = template.Name,
                FolderId    = template.FolderId,
                DateCreated = DateTime.Now
            };

            var result = _templateRepository.Add(templateDomain);

            if (result <= 0)
            {
                throw new NsiBaseException(string.Format(TemplateManagementMessages.TemplateCreationFailed));
            }

            TemplateVersionDomain templateVersionDomain = new TemplateVersionDomain
            {
                Code        = VERSION_CODE,
                TemplateId  = result,
                IsDefault   = true,
                DateCreated = templateDomain.DateCreated,
                Content     = JsonConvert.SerializeObject(template.Content)
            };
            var version = _templateVersionManipulation.Add(templateVersionDomain);

            if (version <= 0)
            {
                throw new NsiBaseException(string.Format(TemplateManagementMessages.TemplateCreationFailed));
            }

            return(result);
        }