コード例 #1
0
        public async Task <IActionResult> FillEmailBody(string emailData, string setInvalidEmail)
        {
            try
            {
                var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
                if (emailData != null)
                {
                    await this.concreteMailService.GetEmailByIdAsync(emailData, userId);
                }
                else if (setInvalidEmail != null)
                {
                    var dto = new StatusInvalidApplicationDto
                    {
                        GmailId = setInvalidEmail,
                        UserId  = userId,
                    };
                    await this.service.SetEmailStatusInvalidApplicationAsync(dto);

                    return(Json(new { emailId = emailData }));
                }
            }
            catch (EmailExeption ex)
            {
                return(View("Message", new MessageViewModel {
                    Message = ex.Message
                }));
            }

            return(Json(new { emailId = emailData }));
        }
コード例 #2
0
        public async Task SetEmailStatusInvalidApplication_Test()
        {
            var user = UserGeneratorUtil.GenerateUser();

            var firstEmail = EmailGeneratorUtil.GenerateEmailFirst();

            var encodeDecodeServiceMock = new Mock <IEncodeDecodeService>().Object;
            var loggerMock = new Mock <ILogger <EmailService> >().Object;

            var options = TestUtilities.GetOptions(nameof(SetEmailStatusInvalidApplication_Test));

            using (var actContext = new E_MailApplicationsManagerContext(options))
            {
                var email = await actContext.Emails.AddAsync(firstEmail);

                var currentUser = await actContext.AddAsync(user);

                await actContext.SaveChangesAsync();

                var dto = new StatusInvalidApplicationDto
                {
                    GmailId = firstEmail.GmailId,
                    UserId  = currentUser.Entity.Id
                };

                var sut    = new EmailService(actContext, loggerMock, encodeDecodeServiceMock);
                var result = await sut.SetEmailStatusInvalidApplicationAsync(dto);

                Assert.IsTrue(result);
            }
        }
コード例 #3
0
        public async Task <bool> SetEmailStatusInvalidApplicationAsync(StatusInvalidApplicationDto dto)
        {
            ValidatorEmailService.ValidatorSetEmailStatusInvalidApplication(dto.GmailId);

            var email = await this.context.Emails
                        .Include(u => u.User)
                        .Where(emailId => emailId.GmailId == dto.GmailId)
                        .FirstOrDefaultAsync();

            var currentUser = await this.context.Users
                              .Where(id => id.Id == dto.UserId)
                              .SingleOrDefaultAsync();

            email.User             = currentUser;
            email.UserId           = dto.UserId;
            email.EmailStatusId    = (int)EmailStatusesType.InvalidApplication;
            email.SetCurrentStatus = DateTime.Now;
            await this.context.SaveChangesAsync();

            logger.LogInformation($"Changed email status to Invalid Application by {currentUser.UserName}");
            return(true);
        }
コード例 #4
0
        public async Task ThrowExceptionWhenGmailIdIsNullSetEmailStatusInvalidApplication_Test()
        {
            var    userID  = "TestID";
            string gmailId = null;

            var encodeDecodeServiceMock = new Mock <IEncodeDecodeService>().Object;
            var loggerMock = new Mock <ILogger <EmailService> >().Object;

            var options = TestUtilities.GetOptions(nameof(ThrowExceptionWhenGmailIdIsNullSetEmailStatusInvalidApplication_Test));

            using (var actContext = new E_MailApplicationsManagerContext(options))
            {
                var dto = new StatusInvalidApplicationDto
                {
                    GmailId = gmailId,
                    UserId  = userID
                };

                var sut = new EmailService(actContext, loggerMock, encodeDecodeServiceMock);
                await sut.SetEmailStatusInvalidApplicationAsync(dto);
            }
        }