コード例 #1
0
        public void Test_For_Converting_AsDataModel_List()
        {
            // Arrange
            var projectsList = new Models.ViewModels.Project[] {
                new Models.ViewModels.Project()
                {
                    ProjectId = 1, ProjectName = "TestProject-1", ManagerId = Guid.NewGuid(), Priority = 10
                },
                new Models.ViewModels.Project()
                {
                    ProjectId = 2, ProjectName = "TestProject-2", ManagerId = Guid.NewGuid(), Priority = 5
                },
                new Models.ViewModels.Project()
                {
                    ProjectId = 3, ProjectName = "TestProject-3", ManagerId = Guid.NewGuid(), Priority = 15
                },
                new Models.ViewModels.Project()
                {
                    ProjectId = 4, ProjectName = "TestProject-4", ManagerId = Guid.NewGuid(), Priority = 20
                },
                new Models.ViewModels.Project()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", ManagerId = Guid.NewGuid(), Priority = 30
                },
            }.AsEnumerable();

            var testDataModelList = new Models.DataModels.Project[] {
                new Models.DataModels.Project()
                {
                    ProjectId = 1, ProjectName = "As-Is-Project-1", ManagerId = Guid.NewGuid(), Priority = 1
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 2, ProjectName = "As-Is-Project-2", ManagerId = Guid.NewGuid(), Priority = 2
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 3, ProjectName = "As-Is-Project-3", ManagerId = Guid.NewGuid(), Priority = 3
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 4, ProjectName = "As-Is-Project-4", ManagerId = Guid.NewGuid(), Priority = 4
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 5, ProjectName = "As-Is-Project-5", ManagerId = Guid.NewGuid(), Priority = 5
                },
            }.AsEnumerable();

            // Act
            var actualDataModelResult = projectsList.AsDataModel(testDataModelList);

            // Assert
            Assert.Equal(projectsList.Select(t => t.ProjectName), actualDataModelResult.Select(t => t.ProjectName));
            Assert.Equal(projectsList.Select(t => t.Priority), actualDataModelResult.Select(t => t.Priority));
        }
コード例 #2
0
        public static Models.ViewModels.Project AsViewModel(this Models.DataModels.Project projectData)
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <Models.DataModels.Project, Models.ViewModels.Project>()
                .ForMember(vm => vm.ManagerName, dm => dm.MapFrom(m => m.Manager != null ? m.Manager.FirstName + (!string.IsNullOrEmpty(m.Manager.LastName) ? $" {m.Manager.LastName}" : string.Empty) : string.Empty))
                .ForMember(vm => vm.IsActive, dm => dm.MapFrom(m => !(m.ProjectEnd.HasValue && m.ProjectEnd.Value.CompareTo(System.DateTime.Now) <= 0)))
                .ReverseMap();
            });

            return(config.CreateMapper().Map <Models.DataModels.Project, Models.ViewModels.Project>(projectData));
        }
コード例 #3
0
        public void Test_For_Get_UserProjects()
        {
            // Arrange
            var mgrId        = Guid.NewGuid();
            var testUserId   = "TestUser1";
            var projectsList = new Models.DataModels.Project[] {
                new Models.DataModels.Project()
                {
                    ProjectId = 1, ProjectName = "TestProject-1", ManagerId = mgrId, Priority = 10
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 2, ProjectName = "TestProject-2", ManagerId = mgrId, Priority = 5
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 3, ProjectName = "TestProject-3", ManagerId = mgrId, Priority = 15
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 4, ProjectName = "TestProject-4", ManagerId = mgrId, Priority = 20
                },
                new Models.DataModels.Project()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", ManagerId = mgrId, Priority = 30
                },
            };

            mockProjectRepository.Setup(repo => repo.Search(It.IsAny <System.Linq.Expressions.Expression <Func <Models.DataModels.Project, bool> > >())).Returns(projectsList);
            // Act
            var actualResult = projectLogicTest.GetUserProjects(testUserId);

            // Assert
            Assert.NotNull(actualResult);
            Assert.IsAssignableFrom <IEnumerable <Models.ViewModels.Project> >(actualResult);
            Assert.Equal(projectsList.Count(), actualResult.Count());
        }
コード例 #4
0
        public static Models.DataModels.Project AsDataModel(this Models.ViewModels.Project projectData, Models.DataModels.Project projectDataModel = null)
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <Models.ViewModels.Project, Models.DataModels.Project>();
            });

            if (projectDataModel == null)
            {
                projectDataModel = config.CreateMapper().Map <Models.ViewModels.Project, Models.DataModels.Project>(projectData);
            }
            else
            {
                projectDataModel = config.CreateMapper().Map(projectData, projectDataModel);
            }
            return(projectDataModel);
        }