/// <summary> /// Sets current user to email participant. /// </summary> protected virtual void SetCurrentPatricipant() { Guid userContactId = UserConnection.CurrentUser.ContactId; var senderContacts = GetContactsByEmails(UserConnection, new List <string> { SenderEmail }); bool addAsRecepient = !InsertedValues.ContainsKey(userContactId) && !IsEmailParticipantExistsByRoles(userContactId, ParticipantRoles); bool addAsSender = senderContacts.ContainsKey(userContactId) || (SenderEmail.IsEmpty() && addAsRecepient); if (addAsSender) { AddActivityParticipantToInsertedValues(userContactId, new Dictionary <string, object> { { "ReadMark", true }, { "RoleId", ParticipantRoles["From"] } }, true); } else if (addAsRecepient) { AddActivityParticipantToInsertedValues(userContactId, new Dictionary <string, object> { { "RoleId", ParticipantRoles["To"] } }, false); } }
/// <summary> /// Returns the validity of Message object. /// </summary> public bool IsValid() { return(SenderAlias.IsValidMessengerAlias() && Body.IsValidMessageBody() && Subject.IsValidMessageSubject() && SenderEmail.IsValidEmail()); }
public IActionResult UpdateDeliveryState(string billCode, int stateId) { CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE)); Bill bill = GetApiBills.GetBills(credential).SingleOrDefault(p => p.GenerateCodeCheck == billCode); DeliveryProduct delivery = GetApiDeliveryProducts.GetDeliveryProducts().SingleOrDefault(p => p.DeliveryProductBillId == bill.BillId); delivery.DeliveryProductStateId = stateId; if (GetApiDeliveryStates.GetDeliveryProductStates() .SingleOrDefault(p => p.DeliveryProductStateId == stateId).DeliveryProductStateName == "Đã giao hàng") { bill.IsCompleted = true; bill.DateOfDelivered = DateTime.Now; GetApiBills.Update(bill, credential.JwToken); } GetApiDeliveryProducts.Update(delivery, credential.JwToken); // sender mail UserProfile profile = GetApiUserProfile.GetUserProfiles().SingleOrDefault(p => p.UserProfileId == bill.UserProfileId); string body = "Đơn hàng có mã #" + bill.GenerateCodeCheck + " đã cập nhật trạng thái vận chuyển mới: " + GetApiDeliveryStates.GetDeliveryProductStates() .SingleOrDefault(p => p.DeliveryProductStateId == stateId).DeliveryProductStateName; SenderEmail.SendMail(profile.UserProfileEmail, "PETSHOP: UPDATE DELIVERY STATE'S YOUR BILL", body); return(Json(bill)); }
public int CompareTo(object obj) { ViewSettings otherViewSettings = obj as ViewSettings; if (Name.CompareTo(otherViewSettings.Name) == 0 && EnableSSL.CompareTo(otherViewSettings.EnableSSL) == 0 && Host.CompareTo(otherViewSettings.Host) == 0 && Port.CompareTo(otherViewSettings.Port) == 0 && UserEmail.CompareTo(otherViewSettings.UserEmail) == 0 && UserPassword.CompareTo(otherViewSettings.UserPassword) == 0 && SenderName.CompareTo(otherViewSettings.SenderName) == 0 && SenderEmail.CompareTo(otherViewSettings.SenderEmail) == 0 && RecieverEmail.CompareTo(otherViewSettings.RecieverEmail) == 0 && MessageSubject.CompareTo(otherViewSettings.MessageSubject) == 0 && MessageBody.CompareTo(otherViewSettings.MessageBody) == 0 && SiteUrl.CompareTo(otherViewSettings.SiteUrl) == 0 && TableClassID.CompareTo(otherViewSettings.TableClassID) == 0 && CompareValue.CompareTo(otherViewSettings.CompareValue) == 0 && TimeStartSettings.CompareTo(otherViewSettings.TimeStartSettings) == 0 && NotNullColumn.CompareTo(otherViewSettings.NotNullColumn) == 0 && ColumnToCompare.CompareTo(otherViewSettings.ColumnToCompare) == 0) { return(0); } return(1); }
public IActionResult ReplyFeedback(int feedbackId, string email, string content) { if (feedbackId != 0 && email != null && content != null) { SenderEmail.SendMail(email, "PETSHOP RESPONSE FOR FEEDBACK", content); UpdateIsRead(feedbackId); } return(Ok(email)); }
public void ValidateOptions() { ClientId.ThrowConfigurationExceptionIfNull($"{Position}:{ClientId}"); Secret.ThrowConfigurationExceptionIfNull($"{Position}:{Secret}"); AuthUrl.ThrowConfigurationExceptionIfNull($"{Position}:{AuthUrl}"); EmailUrl.ThrowConfigurationExceptionIfNull($"{Position}:{EmailUrl}"); SenderEmail.ThrowConfigurationExceptionIfNull($"{Position}:{SenderEmail}"); SenderName.ThrowConfigurationExceptionIfNull($"{Position}:{SenderName}"); }
public UsuariosController(SistemaDeControleDeTCCsContext context, SenderEmail senderEmail, UserManager <Usuario> userManager, RoleManager <IdentityRole> roleManager) { _context = context; _senderEmail = senderEmail; _userManager = userManager; _roleManager = roleManager; }
//Method to sending users verification emails public void SendVerificationLinkEmail(string emailID, string activationCode, string emailFor = "VerifyAccount") { SenderEmail senderData = new SenderEmail(); var verifyUrl = "User/" + emailFor + "/" + activationCode; var link = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, "/" + verifyUrl); var fromEmail = new MailAddress(senderData.email, "Live Chat Room"); var toEmail = new MailAddress(emailID); var fromEmailPassword = senderData.password; //creating messages string subject = "", body = ""; using (StreamReader reader = new StreamReader(HostingEnvironment.MapPath("~/Content/ResetPasswordMessage.html"))) { body = reader.ReadToEnd(); } var userRecord = userRepo.Users.Where(a => a.EmailID == emailID).FirstOrDefault(); if (emailFor == "VerifyAccount") { subject = "Your account is successfully created"; body = body.Replace("#link", "<a href='" + link + "'>Verify Account</a>"); body = body.Replace("#message", "Welcome #user, <br/><br/>We are excited to tell you that your account is successfully created!" + "<br/><br/>Click on the link below to verify your account!"); body = body.Replace("#user", userRecord.UserName); } else if (emailFor == "ResetPassword") { subject = "Reset Password"; body = body.Replace("#link", "<a href=" + link + ">Reset Password link</a>"); body = body.Replace("#message", "Welcome #user, <br /><br />We got request for reset your account password. Please click on the link below to reset your password!"); body = body.Replace("#user", userRecord.UserName); } //configuring smtp var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromEmail.Address, fromEmailPassword) }; using (var message = new MailMessage(fromEmail, toEmail) { Subject = subject, Body = body, IsBodyHtml = true }) smtp.Send(message); }
public IActionResult Register(RegisterModel register, IFormFile avatarFile) { if (ModelState.IsValid) { if (!ExistEmail(register.Email)) { // create session register code string generateCodeRegister = Encryptor.RandomString(12); HttpContext.Session.SetString("generateCodeRegister", generateCodeRegister); // create session register model if (avatarFile != null) { string extension = Path.GetExtension(avatarFile.FileName); if (CheckExtension(extension)) { string avatarName = Encryptor.RandomString(12); var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images/avatar", avatarName + extension); using (var file = new FileStream(path, FileMode.Create)) { avatarFile.CopyTo(file); } register.Avatar = avatarName + extension; } else { ModelState.AddModelError("", "Kiểu file không hỗ trợ (jpg, png, ...)"); } } // send coderegister to email SenderEmail.SendMail(register.Email, "VERIFY", "Code verify: " + generateCodeRegister); HttpContext.Session.SetObject("register", register); return(RedirectToAction("VerifyEmail", "Verify")); } else { ModelState.AddModelError("", "Email đã tồn tại"); } } else { ModelState.AddModelError("", "Email không hợp lệ"); } return(View()); }
public IActionResult ApproveBill(int billId) { CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE)); Bill bill = GetApiBills.GetBills(credential).SingleOrDefault(p => p.BillId == billId); // update bill.IsApprove = true; bill.IsDelivery = true; if (Directory.Exists(Constants.EMBEDED_MAIL_URL) && System.IO.File.Exists(Constants.EMBEDED_MAIL_URL + bill.GenerateCodeCheck + ".png")) { // get credential string token = credential.JwToken; using (HttpClient client = Common.HelperClient.GetClient(token)) { client.BaseAddress = new Uri(Common.Constants.BASE_URI); var postTask = client.PutAsJsonAsync <Bill>(Constants.BILL + "/" + bill.BillId, bill); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsAsync <Bill>(); readTask.Wait(); // send email UserProfile user = GetApiUserProfile.GetUserProfiles().SingleOrDefault(p => p.UserProfileId == bill.UserProfileId); SenderEmail.SendMail(user.UserProfileEmail, "PETSHOP Hóa đơn #" + bill.GenerateCodeCheck, "Đơn hàng có mã: #" + bill.GenerateCodeCheck + " vừa được duyệt", bill.GenerateCodeCheck); return(Json(readTask.Result)); } else { return(null); } } } else { return(NoContent()); } }
public string ResetPassword(string loginData) { LoginViewModel loginView = JsonConvert.DeserializeObject <LoginViewModel>(loginData); Login login = db.GetLogin(loginView.Login); if (login != null) { var newPassword = PasswordManager.CreateRandomPassword(); login.Password = PasswordManager.GetMd5Hash(newPassword); db.ChangePassword(login); SenderEmail sm = new SenderEmail(loginView.Login, $"Hasło zostało zmienione na: {newPassword}\nPo ponownym zalogowaniu zaleca się " + $"zmianę hasła", "Zmiana Hasła"); sm.SendEmail(); return("Hasło zmienione"); } return("Hasło nie zmienione"); }
public IActionResult GenerateVerifyCode(string email) { VerifyModel verifyModel = new VerifyModel() { CodeVerify = Encryptor.RandomString(6), Status = false, Email = email }; HttpContext.Session.SetObject("verifyForgetPW", verifyModel); // send code SenderEmail.SendMail(email, "PETSHOP VERIFY RESTORE ACCOUNT", "Code verify: " + verifyModel.CodeVerify); return(NoContent()); throw new Exception(); }
private void sendEmail(RegistroBeneficiarioNatural registro, PAM_Validacion result) { var correo = new Email(); correo.From("*****@*****.**"); correo.Subject("SOLICITUD DE PERSONA NATURAL : " + result.data); correo.Body( string.Format( @"<div><h2>Sr(a). Beneficiario </h2><p>La solicitud {0} se encuentra en estado {1} con fecha de registro {2}</p></div>", result.data, registro.estado, DateTime.Now.ToString("dd/MM/yyyy"))); var correos = registro.actores.Select(x => x.CORREO_ELECTRONICO).ToList(); correos.Add(registro.correo); correo.To(correos.ToArray()); SenderEmail.send(correo); }
public IActionResult GenerateVerifyCode() { VerifyModel verifyModel = new VerifyModel() { CodeVerify = Encryptor.RandomString(6), Status = false }; HttpContext.Session.SetObject("verifyChangePW", verifyModel); // send code // get credential CredentialModel credential = JsonConvert.DeserializeObject <CredentialModel>(HttpContext.Session.GetString("vm")); SenderEmail.SendMail(credential.Profile.UserProfileEmail, "PETSHOP VERIFY CHANGE PASSWORD", "Code verify: " + verifyModel.CodeVerify); return(NoContent()); }
public RegisterModel( UserManager <Usuario> userManager, SignInManager <Usuario> signInManager, ILogger <RegisterModel> logger, RoleManager <IdentityRole> roleManager, SistemaDeControleDeTCCsContext context, SenderEmail senderEmail //IEmailSender emailSender ) { _userManager = userManager; _signInManager = signInManager; _logger = logger; _roleManager = roleManager; _context = context; _senderEmail = senderEmail; //_emailSender = emailSender; }
public IActionResult ResetPassword(string accountEmail) { CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE) != null ? HttpContext.Session.GetString(Constants.VM_MANAGE) : ""); string token = credential.JwToken; AccountManage acc = GetApiAccountManage.GetAccountManages(token).SingleOrDefault(p => p.Email == accountEmail); string newPassword = Encryptor.RandomString(6); acc.Password = Encryptor.MD5Hash(newPassword); using (HttpClient client = HelperClient.GetClient(token)) { client.BaseAddress = new Uri(Constants.BASE_URI); var putTask = client.PutAsJsonAsync <AccountManage>(Constants.ACCOUNT_MANAGE + "/" + acc.Email, acc); putTask.Wait(); var result = putTask.Result; } //send Email SenderEmail.SendMail(accountEmail, "PETSHOP - Reset Your Password", String.Format("Your new password is here {0} please check it", newPassword)); return(NoContent()); }
public Settings(SenderEmail senderEmail) { SenderEmail = senderEmail; }
public async Task <bool> GetPayment(string pagamentoId) { try { Wirecard.WirecardClient WC = null; WC = await SetAmbiente(WC); var _id = new ObjectId(pagamentoId); var repMongo = new Repository.MongoRep("", _settings, ""); var lstPagamentos = await repMongo.ListarById <Models.DTO.PagamentoPage>(_id); if (lstPagamentos != null) { var userId = lstPagamentos.FirstOrDefault().UsuarioId; var _pagamentoAtual = lstPagamentos.FirstOrDefault().Obj; var _pagamentoAtualContractual = lstPagamentos.FirstOrDefault(); if (_pagamentoAtual.paymentResponse != null) { #region Pagamentos Comuns var result = await WC.Payment.Consult(_pagamentoAtual.paymentResponse.Id); if (result.Status != _pagamentoAtual.paymentResponse.Status) { _pagamentoAtual.paymentResponse.Status = result.Status; if (_pagamentoAtual.StatusPagamento == "Pendente" && result.Status == "AUTHORIZED")//Pago { _pagamentoAtual.StatusPagamento = "Pago"; } //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); if (_pagamentoAtual.StatusPagamento == "Pago") { //Inserir credito se for authorizado o pagamento var credito = new Models.CreditoMetricas() { UserId = userId, Qtd = _pagamentoAtual.Quantidade, DataCredito = DateTime.Now, Debito = 0, DataValidade = DateTime.Now.AddMonths(1), DataCriacao = DateTime.Now }; await repMongo.GravarOne <Models.CreditoMetricas>(credito); } } if (result.Status == "CANCELLED" && _pagamentoAtual.StatusPagamento == "Pendente") { _pagamentoAtual.StatusPagamento = "Cancelado"; //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); } if (result.Status == "REFUNDED" && _pagamentoAtual.StatusPagamento == "Pendente") { _pagamentoAtual.StatusPagamento = "Cancelado"; //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); } if (result.Status == "REFUNDED" && _pagamentoAtual.StatusPagamento == "Pago") { _pagamentoAtual.StatusPagamento = "Cancelado"; //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); } #endregion } else { if (_pagamentoAtual.subscriptionResponse != null) { #region Invoices var lstResult = await WC.Signature.ListSignatureInvoices(_pagamentoAtual.subscriptionResponse.Code); foreach (var result in lstResult.Invoices) { if (_pagamentoAtual.Invoices == null) { _pagamentoAtual.Invoices = new List <Invoice>(); } var _invoice = _pagamentoAtual.Invoices.Where(w => w.Id == result.Id).FirstOrDefault(); if (_invoice == null) { _pagamentoAtual.Invoices.Add(result); _invoice = result; } if (result.Status.Code == 3)//Pago { _pagamentoAtual.StatusPagamento = "Pago"; _pagamentoAtual.NextInvoice = DateTime.Now.AddMonths(1); //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); //Inserir credito se for authorizado o pagamento var credito = new Models.CreditoMetricas() { UserId = userId, Qtd = _pagamentoAtual.Quantidade, DataCredito = DateTime.Now, Debito = 0, DataValidade = _pagamentoAtual.codPlan.Contains("year")? DateTime.Now.AddMonths(12) :DateTime.Now.AddMonths(1), DataCriacao = DateTime.Now }; await repMongo.GravarOne <Models.CreditoMetricas>(credito); //Email de pagamento var usuarioId = await repMongo.FindFilter <Models.Usuario>("Obj.UserId", _pagamentoAtual.Usuario.UserId); var envio = SenderEmail.Pagamento(_pagamentoAtual.Usuario.Email, usuarioId._id.ToString()); } if (_invoice.Status != result.Status) { if (result.Status.Code == 4)//Problemas no pagto { _pagamentoAtual.StatusPagamento = "Problemas"; //Mudar Status await repMongo.AlterarStatusPagamento(new ContractClass <Models.DTO.PagamentoPage>() { _id = _id, Obj = _pagamentoAtual }); } } } _pagamentoAtualContractual.Obj = _pagamentoAtual; await repMongo.AlterarInvoices(_pagamentoAtualContractual); #endregion } } } return(true); } catch (Exception ex) { return(false); } }
public Settings(string connectionString, SenderEmail senderEmail = null) { new ConnectionFactory(connectionString); SenderEmail = senderEmail; }
public TccsController(SistemaDeControleDeTCCsContext context, SenderEmail senderEmail) { _context = context; _senderEmail = senderEmail; }
public IntegrationEmail(SenderEmail sender) { senderEmail = sender; Exceptions = new List <Exception>(); }