public async Task ReturnCorrectEmailById_WhenPassedValueIsCorrect() { var testBody = "TestBody"; var options = TestUtils.GetOptions(nameof(ReturnCorrectEmailById_WhenPassedValueIsCorrect)); var email = new ClientEmail() { Body = testBody }; var mockEmailFactory = new Mock <IEmailFactory>().Object; var mockEmailStatus = new Mock <IEmailStatusService>().Object; var mockEncryptHelper = new Mock <IEncryptingHelper>(); using (var arrangeContext = new EmailManagerDbContext(options)) { await arrangeContext.Emails.AddAsync(email); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new EmailManagerDbContext(options)) { var sut = new EmailService(assertContext, mockEmailFactory, mockEncryptHelper.Object, mockEmailStatus); mockEncryptHelper.Setup(e => e.Encrypt("")).Returns(""); mockEncryptHelper.Setup(e => e.Encrypt("")).Returns(""); mockEncryptHelper.Setup(e => e.Decrypt("")).Returns(""); mockEncryptHelper.Setup(e => e.Decrypt("")).Returns(""); var result = await sut.GetEmailByIdAsync(email.Id); Assert.AreEqual(email.Id, result.Id); } }
public async Task ReturnEmailsType_Successfully() { var testBody = "TestBody"; var options = TestUtils.GetOptions(nameof(ReturnEmailsType_Successfully)); var firstEmail = new ClientEmail() { Body = testBody }; var mockEmailFactory = new Mock <IEmailFactory>().Object; var mockEmailStatus = new Mock <IEmailStatusService>().Object; var mockEncryptHelper = new Mock <EncryptingHelper>().Object; using (var arrangeContext = new EmailManagerDbContext(options)) { await arrangeContext.Emails.AddAsync(firstEmail); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new EmailManagerDbContext(options)) { var sut = new EmailService(assertContext, mockEmailFactory, mockEncryptHelper, mockEmailStatus); var result = await sut.GetAllEmailsAsync(); Assert.IsInstanceOfType(result, typeof(ICollection <EmailDTO>)); } }
public async Task ReturnCorrectEmail_WhenExists() { var testId = "TestId"; var options = TestUtils.GetOptions(nameof(ReturnCorrectEmail_WhenExists)); var email = new ClientEmail() { OriginalMailId = testId }; var mockEmailFactory = new Mock <IEmailFactory>().Object; var mockEmailStatus = new Mock <IEmailStatusService>().Object; var mockEncryptHelper = new Mock <EncryptingHelper>().Object; using (var arrangeContext = new EmailManagerDbContext(options)) { await arrangeContext.Emails.AddAsync(email); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new EmailManagerDbContext(options)) { var sut = new EmailService(assertContext, mockEmailFactory, mockEncryptHelper, mockEmailStatus); var result = await sut.CheckIfEmailExists(testId); Assert.AreEqual(true, result); } }
// ----------------------------------------------------- // List clients // ----------------------------------------------------- public static List <ClientEmail> List(string groupType) { var clientEmailList = new List <ClientEmail>(); if (string.IsNullOrEmpty(groupType)) { return(new List <ClientEmail>()); } using (var connection = new MySqlConnection(ConnString.ConnectionString)) { var commandString = string.Format( " SELECT " + " UID " + ", FirstName " + ", LastName " + ", EmailAddress " + ", Type " + " FROM ClientEmail " + " WHERE (EmailSent is null or EmailSent = '') and Type = @groupType" + " ORDER BY UID ASC " ); using (var command = new MySqlCommand( commandString, connection)) { command.Parameters.Add("@groupType", MySqlDbType.VarChar).Value = groupType; connection.Open(); try { using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var clientEmail = new ClientEmail(); clientEmail.UID = Convert.ToInt32(reader["UID"]); clientEmail.FirstName = reader["FirstName"].ToString(); clientEmail.LastName = reader["LastName"].ToString(); clientEmail.EmailAddress = reader["EmailAddress"].ToString(); clientEmail.Type = reader["Type"].ToString(); clientEmailList.Add(clientEmail); } } } catch (Exception ex) { string error = ex.ToString(); LogFile.WriteToTodaysLogFile(ex.ToString(), "", "", "ClientEmail.cs"); } } } return(clientEmailList); }
/// <summary> /// Add a new email for the client /// </summary> /// <param name="email">Email client</param> /// <param name="clientId">Client Id</param> public void AddEmail(string email, string clientId) { if (!string.IsNullOrWhiteSpace(email) && AtlasDataContext.ClientEmails.Where(x => x.ClientId == clientId && x.Email == email.Trim()).Count() == 0) { var clientEmail = new ClientEmail { Email = email.Trim(), ClientId = clientId }; AtlasDataContext.ClientEmails.Add(clientEmail); AtlasDataContext.SaveChanges(); } }
public ClientEmail CreateEmail(string originalMailId, string senderName, string senderEmail, DateTime dateReceived, string subject, string body) { var newEmail = new ClientEmail { OriginalMailId = originalMailId, SenderName = senderName, SenderEmail = senderEmail, DateReceived = dateReceived, Subject = subject, Body = body, StatusEmailId = "a0e53404-d40e-4a1e-8fe5-9a5fc0139ed9" }; return(newEmail); }
public async Task ReturnCollectionOfEmail() { var testBody = "TestBody"; var options = TestUtils.GetOptions(nameof(ReturnCollectionOfEmail)); var firstEmail = new ClientEmail() { Body = testBody }; var secondEmail = new ClientEmail() { Body = "SecondBodyName" }; var thirdEmail = new ClientEmail() { Body = "ThirdBodyName" }; var mockEmailFactory = new Mock <IEmailFactory>().Object; var mockEmailStatus = new Mock <IEmailStatusService>().Object; var mockEncryptHelper = new Mock <EncryptingHelper>().Object; using (var arrangeContext = new EmailManagerDbContext(options)) { await arrangeContext.Emails.AddAsync(firstEmail); await arrangeContext.Emails.AddAsync(secondEmail); await arrangeContext.Emails.AddAsync(thirdEmail); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new EmailManagerDbContext(options)) { var sut = new EmailService(assertContext, mockEmailFactory, mockEncryptHelper, mockEmailStatus); var result = await sut.GetAllEmailsAsync(); Assert.AreEqual(3, result.Count); } }
public static EmailDTO ToDTO(this ClientEmail entity) { if (entity is null) { return(null); } var email = new EmailDTO { Id = entity.Id, OriginalMailId = entity.OriginalMailId, Subject = entity.Subject, Sender = entity.SenderEmail, DateReceived = entity.DateReceived, Body = entity.Body, EmailStatusId = entity.StatusEmailId, EmailStatusName = entity.Status?.StatusType, ModifiedOnDate = entity.ModifiedOnDate, ModifiedByUserId = entity.ModifiedByUserId, ApplicationStatus = entity.LoanApplication?.ApplicationStatus.ToString() }; return(email); }
// ----------------------------------------------------- // List clients // ----------------------------------------------------- public static List <ClientEmail> ListCertificates(string groupType) { var clientEmailList = new List <ClientEmail>(); string certType = "Cert"; using (var connection = new MySqlConnection(ConnString.ConnectionString)) { var commandString = string.Format( " SELECT " + " UID " + ", FirstName " + ", LastName " + ", EmailAddress " + ", Type " + ", Document" + ", CertificateType " + " FROM ClientEmail, temp_emailattach" + " WHERE " + " FKEmailClientID = SecID and " + " Type = @groupType and CertificateType = @certType " + " ORDER BY UID ASC " ); using (var command = new MySqlCommand( commandString, connection)) { command.Parameters.Add("@groupType", MySqlDbType.VarChar).Value = groupType; command.Parameters.Add("@certType", MySqlDbType.VarChar).Value = certType; connection.Open(); try { using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var clientEmail = new ClientEmail(); clientEmail.UID = Convert.ToInt32(reader["UID"]); clientEmail.FirstName = reader["FirstName"].ToString(); clientEmail.LastName = reader["LastName"].ToString(); clientEmail.EmailAddress = reader["EmailAddress"].ToString(); clientEmail.Type = reader["Type"].ToString(); clientEmail.Attachment = reader["Document"].ToString(); clientEmail.CertificateType = reader["CertificateType"].ToString(); clientEmailList.Add(clientEmail); } } } catch (Exception ex) { string error = ex.ToString(); LogFile.WriteToTodaysLogFile(ex.ToString(), "", "", "ClientEmail.cs"); } } } return(clientEmailList); }