private void CreateCreateMethod(GenericManager manager) { var createMethodInputParameter = new MethodParameter() { Name = "Entity", Type = MethodParameter.ParameterInputType.Entity, }; var createMethodOutputParameter = new MethodParameter() { Name = "Id", Type = MethodParameter.ParameterInputType.Guid, }; var createMehtodId = CreateRepositoryMethod(manager, "Create", RepositoryMethod.RepositoryMethodType.Create, new MethodParameter[] { createMethodInputParameter }, createMethodOutputParameter); var repositoryMethod = Entity.DictionartyToEntity <RepositoryMethod>(manager.Retrieve(RepositoryMethod.LogicalName, createMehtodId).Values); var content = new UseCaseContent(); content.Parameters.Add(createMethodInputParameter); content.Parameters.Add(createMethodOutputParameter); content.SentenceCollection.Sentences.Add(new ExecuteRepositoryMethodSentence(SchemaEntityReference.DisplayName, RepositoryEntityReference.DisplayName, repositoryMethod)); _ = CreateUseCase(manager, "CreateService", "Create record", "Create record", UseCaseType.Create, content); }
private void PersistUseCase(UseCaseDiagram useCaseDiagram, UseCaseItem useCaseData, int identifier, IEnumerable <UseCase> oldVersionUseCases = null) { var useCaseEntity = new UseCase(); useCaseEntity.Id = useCaseData.Cell.Id; useCaseEntity.X = useCaseData.Cell.Position.X; useCaseEntity.Y = useCaseData.Cell.Position.Y; useCaseEntity.Identifier = identifier; useCaseEntity.Version = useCaseDiagram.Version; useCaseEntity.IsLastVersion = true; foreach (var contentData in useCaseData.Contents) { var useCaseContent = new UseCaseContent(); useCaseContent.Id = Guid.NewGuid(); useCaseContent.Name = contentData.Name; useCaseContent.Description = contentData.Description; useCaseContent.Path = contentData.Path; useCaseContent.Locale = contentData.Locale; useCaseEntity.Contents.Add(useCaseContent); _useCaseContentRepository.Add(useCaseContent); } foreach (var postCondition in useCaseData.PostConditions) { PersistPostCondition(useCaseEntity, postCondition); } foreach (var preCondition in useCaseData.PreConditions) { PersistPreCondition(useCaseEntity, preCondition); } if (oldVersionUseCases == null || !oldVersionUseCases.Any(o => o.Id == useCaseEntity.Id)) { var specificationItem = new SpecificationItem(); specificationItem.Id = useCaseEntity.Id; specificationItem.Label = $"{UseCase.PREFIX}{useCaseEntity.Identifier}"; specificationItem.Active = true; specificationItem.Type = SpecificationItemType.UseCase; specificationItem.PackageId = useCaseDiagram.SpecificationItem.PackageId; _specificationItemRepository.Add(specificationItem); useCaseEntity.SpecificationItem = specificationItem; } else { var oldUseCase = oldVersionUseCases.FirstOrDefault(o => o.Id == useCaseEntity.Id); useCaseEntity.SpecificationItem = oldUseCase.SpecificationItem; useCaseEntity.SpecificationItem.PackageId = useCaseDiagram.SpecificationItem.PackageId; } useCaseEntity.UseCaseDiagram = useCaseDiagram; useCaseEntity.ProjectId = useCaseDiagram.ProjectId; useCaseDiagram.Entities.Add(useCaseEntity); _useCaseRepository.Add(useCaseEntity); _useCaseEntityRepository.Add(useCaseEntity); }
public static UseCaseContentViewModel FromModel(UseCaseContent model) { return(new UseCaseContentViewModel { Locale = model.Locale, Name = model.Name, Description = model.Description, Path = model.Path }); }
private Guid CreateUseCase(GenericManager manager, string name, string displayName, string description, UseCaseType type, UseCaseContent content) { var usecase = new UseCase() { SchemaId = SchemaEntityReference, Name = name, Description = description, DisplayName = displayName, Type = new OptionSetValue((int)type), Content = JsonParserService.StringfyWithTypes(content), }; return(manager.Create(UseCase.LogicalName, Entity.EntityToDictionary(usecase))); }