Пример #1
0
        /// <inheritdoc/>
        public Project CreateProject(ProjectCreateDto dto)
        {
            var now    = DateUtil.Now;
            var entity = new ProjectTableEntity
            {
                ProjectId   = Guid.NewGuid(),
                ProjectCode = dto.ProjectCode,
                Name        = dto.Name,
                Description = dto.Description,
                Status      = dto.Status,
                SortNo      = dto.SortNo,
                CreateTime  = now,
                UpdateTime  = now,
            };

            using (var tran = new TransactionScope())
            {
                _projectRepository.Create(entity);

                foreach (var tag in dto.Tags)
                {
                    _tagRepository.Create(new TagTableEntity
                    {
                        TagId       = Guid.NewGuid(),
                        TargetId    = entity.ProjectId,
                        Value       = tag,
                        TargetTable = "Project",
                        CreateTime  = now,
                    });
                }

                tran.Complete();
            }
            return(_projectQueryService.GetProject(entity.ProjectId));
        }
        public void Read_NotThrowsException_StateIsValid()
        {
            var projectKey = new ProjectTableEntity
            {
                ProjectId = Guid.Parse("00000000-2001-0000-0000-000000000000"),
            };
            var projectRepository = new ProjectRepository(TestEnvironment.DBSettings);
            var project           = projectRepository.Read(projectKey);

            Assert.IsNotNull(project);
        }
        public void Update_NotThrowsException_StateIsValid()
        {
            var projectKey = new ProjectTableEntity
            {
                ProjectId = Guid.Parse("00000000-2001-0000-0000-000000000000"),
            };
            var projectRepository = new ProjectRepository(TestEnvironment.DBSettings);
            var project           = projectRepository.Read(projectKey);

            project.UpdateTime = DateUtil.Now;
            Assert.IsTrue(projectRepository.Update(project));
        }
        public void Create_NotThrowsException_StateIsValid()
        {
            var project = new ProjectTableEntity
            {
                ProjectId   = Guid.NewGuid(),
                ProjectCode = new string('X', 20),
                Name        = new string('X', 256),
                Description = new string('X', 1024),
                SortNo      = int.MaxValue,
                Status      = ProjectStatus.NORMAL.ToString(),
                CreateTime  = DateTimeOffset.MaxValue,
                UpdateTime  = DateTimeOffset.MaxValue,
            };
            var projectRepository = new ProjectRepository(TestEnvironment.DBSettings);

            projectRepository.Create(project);
        }