コード例 #1
0
        public async Task CheckGettingAllAsSelectListItemAsync()
        {
            ApplicationDbContext db = GetDb();

            var repository = new EfDeletableEntityRepository <JobType>(db);
            var service    = new JobTypesService(repository);

            var firstJobType = new JobType()
            {
                Id = Guid.NewGuid().ToString()
            };
            var secondJobType = new JobType()
            {
                Id = Guid.NewGuid().ToString()
            };
            var thirdJobType = new JobType()
            {
                Id = Guid.NewGuid().ToString()
            };

            await db.JobTypes.AddAsync(firstJobType);

            await db.JobTypes.AddAsync(secondJobType);

            await db.JobTypes.AddAsync(thirdJobType);

            await db.SaveChangesAsync();

            var jobTypes = await service.GetAllAsSelectListItemAsync();

            Assert.Equal(3, jobTypes.Count());
        }
コード例 #2
0
        public async Task UpdateAsyncCorrectlyUpdatesInformation()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobTypes.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);

            var model = new EditViewModel
            {
                Name      = "NewName",
                IsDeleted = true,
            };

            var result = await service.UpdateAsync(1, model);

            Assert.NotEqual(-1, result);

            var dbRecord = await context.JobTypes.FindAsync(1);

            Assert.NotEqual("First", dbRecord.Name);
            Assert.NotNull(dbRecord.DeletedOn);
            Assert.True(dbRecord.IsDeleted);
        }
コード例 #3
0
 public EmployerJobViewModel()
 {
     JobTypes  = Mapper.Map <ObservableCollection <JobTypeViewModel> >(JobTypesService.GetAll());
     JobType   = JobTypes.FirstOrDefault();
     Employees = new List <JobUserViewModel>();
     IsLookingForNewEmployees = true;
     StartDate = DateTime.Now;
 }
コード例 #4
0
        public async Task DeleteFailsWhenIdNotInDatabase()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);
            var result  = await service.DeleteAsync(100);

            Assert.False(result);
        }
コード例 #5
0
        public async Task GetAllReturnsCorrectNumberOfRecords()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobTypes.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);
            var result  = service.GetAll <EditViewModel>();

            Assert.Equal(2, result.Count());
        }
コード例 #6
0
        public async Task UpdateAsyncFailsWhenIdNotInDb()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);

            var model = new EditViewModel
            {
                Name      = "NewName",
                IsDeleted = true,
            };

            var result = await service.UpdateAsync(100, model);

            Assert.Equal(-1, result);
        }
コード例 #7
0
        public async Task GetDetailsReturnsCorrectInformation()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobTypes.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);

            var result = service.GetDetails <EditViewModel>(1);

            Assert.NotNull(result);
            Assert.Equal(1, result.Id);
            Assert.Equal("First", result.Name);
            Assert.False(result.IsDeleted);
        }
コード例 #8
0
        public async Task CreateSuccessfullyAddsNewType()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);

            var model = new CreateViewModel
            {
                Name      = "New Type",
                IsDeleted = true,
            };

            int id = await service.CreateAsync(model);

            Assert.NotEqual(-1, id);
            Assert.Equal(1, context.JobTypes.IgnoreQueryFilters().Count());
        }
コード例 #9
0
        public async Task DeleteMarksRecordAsDeleted()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobTypes.AddAsync(new JobType { Id = 1, Name = "Type", IsDeleted = false });

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobType>(context);

            var service = new JobTypesService(repository);

            var result = await service.DeleteAsync(1);

            var dbRecord = await context.JobTypes.FindAsync(1);

            Assert.True(result);
            Assert.True(dbRecord.IsDeleted);
            Assert.NotNull(dbRecord.DeletedOn);
            Assert.Equal(1, context.JobTypes.IgnoreQueryFilters().Count());
        }
コード例 #10
0
        private void OnAddJobTypes(object sender, EventArgs e)
        {
            var userViewModel = (EmployeeViewModel)BindingContext;
            var jobTypes      = Mapper.Map <ObservableCollection <JobTypeViewModel> >(JobTypesService.GetAll());

            foreach (var jobType in jobTypes)
            {
                if (userViewModel.JobTypes.Select(type => type.Id).Contains(jobType.Id))
                {
                    jobType.IsChecked = true;
                }
            }

            var addJobTypePage = new AddJobTypesPage()
            {
                BindingContext = jobTypes
            };

            addJobTypePage.OnAddJobTypes += OnAddedJobTypes;
            Navigation.PushModalAsync(addJobTypePage);
        }