public async Task SendCvAsyncShouldSendMessageToEmployer()
        {
            ApplicationUser user = new ApplicationUser {
                Id = "TestId"
            };
            string message   = "TestMessage";
            string firstName = "FirstNameTest";
            string lastName  = "LastNameTest";

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "SendCVCreateDb").Options;
            var dbContext = new ApplicationDbContext(options);

            var repository = new EfDeletableEntityRepository <CvMessage>(dbContext);
            var service    = new CvMessageService(repository, null);

            await service.SendCvAsync(user, 1, message, null, firstName, lastName);

            var messageCount = service.GetMessageCount(1);

            Assert.Equal(1, messageCount);

            var expected = new CvMessage
            {
                Message   = message,
                FirstName = firstName,
                LastName  = lastName,
            };
            var result = service.GetMessage(1);

            Assert.True(
                expected.Message == result.Message &&
                expected.FirstName == result.FirstName &&
                expected.LastName == result.LastName);
        }
        public async Task DeleteAsyncShouldDeleteMessage()
        {
            int postId = 1;

            CvMessage cvmessage = new CvMessage
            {
                JobPostId = postId,
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "DeleteCvDb").Options;
            var dbContext = new ApplicationDbContext(options);

            dbContext.CvMessages.Add(cvmessage);
            await dbContext.SaveChangesAsync();

            var repository   = new EfDeletableEntityRepository <CvMessage>(dbContext);
            var service      = new CvMessageService(repository, null);
            var messageCount = service.GetMessageCount(1);

            Assert.Equal(1, messageCount);
            var result = service.DeleteAsync(cvmessage);

            messageCount = service.GetMessageCount(1);
            Assert.Equal(0, messageCount);
        }
Esempio n. 3
0
        public async Task DeleteAsync(CvMessage cvmessage)
        {
            if (cvmessage == null)
            {
                return;
            }

            this.cvмessageRepository.Delete(cvmessage);
            await this.cvмessageRepository.SaveChangesAsync();

            return;
        }
Esempio n. 4
0
        public async Task SendCvAsync(ApplicationUser user, int jobPostId, string message, IFormFile file, string firstName, string lastName)
        {
            CvMessage cvmessage = new CvMessage
            {
                ApplicationUserId = user.Id,
                FirstName         = firstName,
                LastName          = lastName,
                JobPostId         = jobPostId,
                Message           = message,
                CvUrl             = file == null ? string.Empty : await this.fileUploadService.UploadCvAsync(file, firstName + lastName),
            };

            await this.cvмessageRepository.AddAsync(cvmessage);

            await this.cvмessageRepository.SaveChangesAsync();
        }
        public async Task <IActionResult> DeleteMessage(int id)
        {
            CvMessage cvmessage = this.cvmessageService.GetMessage(id);

            if (cvmessage == null)
            {
                return(this.NotFound());
            }

            ApplicationUser user = await this.userManager.GetUserAsync(this.User);

            JobApplyViewModel viewModel = this.jobPostsService.GetById <JobApplyViewModel>(cvmessage.JobPostId);

            if (viewModel == null || viewModel.EmployerId != user.EmployerId)
            {
                return(this.NotFound());
            }

            await this.cvmessageService.DeleteAsync(cvmessage);

            return(this.Redirect($"/Management/Dashboard/Messages?postId={cvmessage.JobPostId}"));
        }