public HttpResponseMessage MessageUser(EmailVm emailInfo) { bool result = AccountHelper.Sendemail(emailInfo); HttpStatusCode status = result ? HttpStatusCode.OK : HttpStatusCode.Forbidden; return(Request.CreateResponse(status, result)); }
public async Task <ActionResult> SendEmail(IFormCollection collection, EmailVm emailVm) { try { var employees = await adminService.GetEmployeesToEmail(); switch (emailVm.SelectedOption) { case "all": { await emailService.SendEmail(employees.Select(x => x.Email), emailVm.Subject, emailVm.Message); } break; case "position": await emailService.SendEmail(employees.Where(x => x.Position == emailVm.Position).Select(y => y.Email), emailVm.Subject, emailVm.Message); break; case "employee": await emailService.SendEmail(new List <string> { emailVm.Email }, emailVm.Subject, emailVm.Message); break; } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public ActionResult CreateAddress(string addyType, int churchId) { AddressInfoVm info = null; var partialView = string.Empty; switch (addyType.ToLower()) { case "address": info = new AddressVm(); partialView = "_Address.cshtml"; break; case "email": info = new EmailVm(); partialView = "_Email.cshtml"; break; case "phone": info = new PhoneVm(); partialView = "_Phone.cshtml"; break; } info.Id = new Random().Next(-100, -1); info.IdentityId = churchId; return(PartialView("/Views/Shared/AddressInfo/" + partialView, info)); }
private static EmailListVm MapToEmailListVm(this List <Email> emails, List <KeyValuePair <int, string> > emailTypes) { Func <Email, bool> func = null; EmailListVm emailListVm = new EmailListVm(); KeyValuePair <int, string> keyValuePair = emailTypes.FirstOrDefault <KeyValuePair <int, string> >(); emailListVm.AdditionalEmails = new List <EmailVm>(); emailListVm.DefaultEmailTypeName = keyValuePair.Value; emailListVm.DefaultEmailTypeId = new long?((long)keyValuePair.Key); if (emails != null && emails.Any <Email>()) { Email leadTypeEmail = emails.FirstOrDefault <Email>((Email m) => { long?emailTypeId = m.EmailTypeId; long key = (long)keyValuePair.Key; return(emailTypeId.GetValueOrDefault() == key & emailTypeId.HasValue); }); if (leadTypeEmail != null) { emailListVm.DefaultEmailId = leadTypeEmail.Id; emailListVm.DefaultEmail = leadTypeEmail.Value; } List <Email> emails1 = emails; Func <Email, bool> func1 = func; if (func1 == null) { Func <Email, bool> func2 = (Email m) => { long?id = m.Id; long?defaultEmailId = emailListVm.DefaultEmailId; return(!(id.GetValueOrDefault() == defaultEmailId.GetValueOrDefault() & id.HasValue == defaultEmailId.HasValue)); }; Func <Email, bool> func3 = func2; func = func2; func1 = func3; } foreach (Email email in emails1.Where <Email>(func1)) { EmailVm emailVm = new EmailVm() { Id = email.Id, EmailTypeId = email.EmailTypeId, Email = email.Value, EmailTypes = emailTypes.ToSelectListItemList(email.EmailTypeId) }; emailListVm.AdditionalEmails.Add(emailVm); } } if (!emailListVm.AdditionalEmails.Any <EmailVm>()) { EmailVm emailVm1 = new EmailVm() { EmailTypes = emailTypes.ToSelectListItemList() }; emailListVm.AdditionalEmails.Add(emailVm1); } return(emailListVm); }
public async Task <ApiResponse> ForgotPassword(EmailVm model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { throw new MyNotFoundException(ApiResponseDescription.USER_NOT_FOUND); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); byte[] tokenGeneratedBytes = Encoding.UTF8.GetBytes(token); var codeEncoded = WebEncoders.Base64UrlEncode(tokenGeneratedBytes); var url = "http://localhost:5000/forgotPassword" + "?email=" + user.Email + "&token=" + codeEncoded; SendEmail.Send(user.Email, "Password reset request", url); return(new ApiResponse(true)); }
public async Task SendEmailAsync(EmailVm message) { // Plug in your email service here to send an email. string schoolName = "Designer's Choice"; string emailsetting = ConfigurationManager.AppSettings["GmailUserName"]; MailMessage email = new MailMessage(new MailAddress($"noreply{emailsetting}", $"(Daily Sales for {DateTime.Now.ToShortDateString()}, do not reply)"), new MailAddress(message.Destination)); email.Subject = message.Subject; email.Body = message.Body; email.IsBodyHtml = true; using (var mailClient = new EmailSetUpServices()) { //In order to use the original from email address, uncomment this line: email.From = new MailAddress(mailClient.UserName, $"(do not reply)@{schoolName}"); await mailClient.SendMailAsync(email); } }
public async Task <List <EmailVm> > GetEmails(string email, DateTime?from, DateTime?to, EmailType type) { var emails = await _emailRepository.GetEmails(email, from, to, type); var result = new List <EmailVm>(); foreach (var item in emails) { var newEmail = new EmailVm(); newEmail.Bcc = item.Bcc.GetContactsInStringFormat(); newEmail.Body = item.Body; newEmail.Cc = item.Cc.GetContactsInStringFormat(); newEmail.Date = item.Date; newEmail.EmailStatus = item.EmailStatus.ToString(); newEmail.EmailType = type; newEmail.From = item.From.GetContactsInStringFormat(); newEmail.HtmlBody = item.HtmlBody; newEmail.Importance = item.Importance; newEmail.InReplyTo = item.InReplyTo; newEmail.MessageId = item.MessageId; newEmail.Priority = item.Priority; newEmail.ReadByMatcher = item.ReadByMatcher; newEmail.ReadStatus = item.ReadStatus.ToString(); newEmail.ReplyTo = item.ReplyTo.GetContactsInStringFormat(); newEmail.ResentBcc = item.ResentBcc.GetContactsInStringFormat(); newEmail.ResentCc = item.ResentCc.GetContactsInStringFormat(); newEmail.ResentDate = item.ResentDate; newEmail.ResentFrom = item.ResentFrom.GetContactsInStringFormat(); newEmail.ResentMessageId = item.ResentMessageId; newEmail.ResentReplyTo = item.ResentReplyTo.GetContactsInStringFormat(); newEmail.ResentSender = item.ResentSender; newEmail.ResentTo = item.ResentTo.GetContactsInStringFormat(); newEmail.Subject = item.Subject; newEmail.To = item.To.GetContactsInStringFormat(); newEmail.UniqueId = item.UniqueId; newEmail.XPriority = item.XPriority; result.Add(newEmail); } return(result); }
public IHttpActionResult Post(Korisnici k) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { string tempLozinka = k.LozinkaHash; k.LozinkaHash = AccountHelper.GenerateHash(tempLozinka, k.LozinkaSalt); ctx.Korisnici.Add(k); ctx.SaveChanges(); EmailVm email = new EmailVm(); email.To = k.Email; email.Subject = "Dobrodošli u Express Salad Bar"; email.Body = "Poštovani " + k.Ime + " " + k.Prezime + ", <br/><br/>" + "Želimo Vam srdačnu dobrodošlicu na sistem Express Salad Bar." + "<br/>Ukoliko imate bilo kakvih pitanja ili sugestija, molimo Vas da nas kontaktirate putem email adrese: [email protected]" + "<br/><br/>Podaci sa kojim se prijavljujete na sistem: " + "<br/><b>Email:</b> " + k.Email + "<br/><b>Lozinka:</b> " + tempLozinka + "<br/>Pripadate ulozi: Osoblje" + "<br/>Molimo Vas nakon prijave da promijenite Vašu lozinku." + "<br/><br/><br/>Lijep pozdrav," + "<br/>Vaš Express Salad Bar."; AccountHelper.Sendemail(email); } catch (DbUpdateException e) { SqlException ex = e.InnerException.InnerException as SqlException; HttpResponseMessage error = ExceptionHandler.CreatedHttpResponseException(ExceptionHandler.HandleException(ex), HttpStatusCode.Conflict); throw new HttpResponseException(error); } return(Ok(k)); }
public ActionResult AddEmail() { var model = new EmailVm(AppCache.Instance); return(PartialView("_Email", model)); }
public async Task <IActionResult> OrderEmails([FromRoute] int eventId, [FromServices] StandardEmailSender emailSender, [FromServices] IRegistrationService registrationService, [FromBody] EmailVm vm) { var registrations = await registrationService.GetRegistrationsWithOrders(eventId); var emailTasks = registrations.Select(r => { var message = new EmailMessage { Name = r.ParticipantName, Email = r.User.Email, Subject = vm.Subject, Message = vm.Message }; if (r.HasOrder) { StringBuilder builder = new StringBuilder(); builder.AppendLine("<br>"); builder.AppendLine("<h4>Ordre</h4>"); r.Orders.ForEach( (o) => o.OrderLines?.ForEach( (line) => builder.AppendLine($"<br>{line.ProductName}") ) ); message.Message += builder.ToString(); } return(emailSender.SendStandardEmailAsync(message)); }); await Task.WhenAll(emailTasks); return(Ok()); }
public async Task <ActionResult> NotifyByEmail() { string productBuilder = String.Empty; string quantityBuilder = String.Empty; decimal total = 0; var emailVm = new EmailVm(); var dailySales = await _db.Sales.Include(i => i.SaleDetails).Include(i => i.Customer).AsNoTracking() .Where(x => x.SaleDate.Year == DateTime.Now.Year && x.SaleDate.Month == DateTime.Now.Month && x.SaleDate.Day == DateTime.Now.Day) .OrderBy(o => o.SaleDate).ToListAsync(); var rows = new StringBuilder(); string SalesBody = "<strong> Hello Ma, </strong><br />" + $"<strong>Daily Sales Report for {DateTime.Now.ToShortDateString()} </strong>" + "<br > Please find can find breakup below " + "<table border=\"1\">" + "<tr>" + "<th>Sales Rep Name</td>" + "<th>Customer's Name</td>" + "<th>Phone Number</td>" + "<th>Items Bought</td>" + "<th>Quantity Bought</td>" + "<th>Amount</td>" + "</tr>"; rows.Append(SalesBody); foreach (Sale sales in dailySales) { foreach (var product in sales.SaleDetails.OrderBy(o => o.ProductId)) { productBuilder += $"{product.Product.Name}, "; quantityBuilder += ($"{product.Quantity}, "); total += product.Quantity * product.UnitPrice; } rows.Append("<tr>" + $"<td>{sales.Customer.Email}</td>" + $"<td>{sales.Customer.FullName}</td>" + $"<td>{sales.Customer.PhoneNumber}</td>" + $"<td>{productBuilder}</td>" + $"<td>{quantityBuilder}</td>" + $"<td>{total}</td>" + "</tr>"); productBuilder = String.Empty; quantityBuilder = String.Empty; total = 0; } rows.Append("</table>"); var items = await _db.Products.AsNoTracking().Include(i => i.Category).ToListAsync(); string itemLeft = "<br/><br ><br >" + $"<strong>List of Product/Items that are less than three in Stock as at {DateTime.Now.ToShortDateString()}</strong>" + "<br > you can find breakup below " + "<table border=\"1\">" + "<tr>" + "<th>Product Name</td>" + "<th>Section</td>" + "<th>Product Category</td>" + "<th>Quantity Remaining</td>" + "</tr>"; rows.Append(itemLeft); foreach (var product in items.Where(s => s.StockQuantity <= 3)) { rows.Append("<tr>" + $"<td>{product.Name}</td>" + $"<td>{product.Category.StoreSection.SectionName}</td>" + $"<td>{product.Category.Name}</td>" + $"<td>{product.StockQuantity}</td>" + "</tr>"); } rows.Append("</table>"); string finishItem = "<br/><br ><br >" + $"<strong>List of Product/Items that is finished from Stock {DateTime.Now.ToShortDateString()}</strong>" + "<br > you can find breakup below " + "<table border=\"1\">" + "<tr>" + "<th>Product Name</td>" + "<th>Section</td>" + "<th>Product Category</td>" + "<th>Quantity Remaining</td>" + "</tr>"; rows.Append(finishItem); foreach (var product in items.Where(s => s.StockQuantity <= 0)) { rows.Append("<tr>" + $"<td>{product.Name}</td>" + $"<td>{product.Category.StoreSection.SectionName}</td>" + $"<td>{product.Category.Name}</td>" + $"<td>{product.StockQuantity}</td>" + "</tr>"); } rows.Append("</table>"); emailVm.Body = rows.ToString(); emailVm.Destination = "*****@*****.**"; emailVm.Subject = $"Sales report for {DateTime.Now.ToShortDateString()} for Amudu Bello Office"; await SendEmailAsync(emailVm); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> ForgotPassword(EmailVm model) => Ok(await _userService.ForgotPassword(model));
public HttpResponseMessage Naruci(NaruciVm naruci) { Korisnici isUserExists = AccountHelper.GetKorisnikById(naruci.KorisnikId); if (isUserExists == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "Korisnik nije pronadjen")); } // Provjera korisnika da li je on povjerljiv, ukoliko nije ispisati odgovarajucu poruku o nepovjerljivosti if (!isUserExists.Povjerljiv) { return(Request.CreateResponse(HttpStatusCode.Forbidden, "Nepovjerljiv korisnik")); } MContext ctx = new MContext(); List <KorpaStavke> conditionKs = ctx.KorpaStavke.Where(ks => ks.Korpa.Aktivna == true && ks.Korpa.KorisnikId == naruci.KorisnikId).ToList(); // Provjera da li je korisnicka korpa prazna - radi sigurnosti na server strani if (conditionKs.Count <= 0) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Korisnicka korpa je prazna!")); } // Dobavljanje aktivne korpe korisnika Korpa korisnikKorpa = ctx.Korpa.FirstOrDefault(x => x.Aktivna && x.KorisnikId == naruci.KorisnikId); // korisnikKorpa.Sifra = KorpaHelper.GetSifra(); // Preuzimanje zakazanog vremena dolaska korisnikKorpa.VrijemeDolaska = naruci.DatumDolaska; // Promijeniti status korpe u false korisnikKorpa.Aktivna = false; // oduzmi sastojcima na stanju List <int> SalataIds = ctx.KorpaStavke.Where(x => x.KorpaId == korisnikKorpa.Id).Select(y => y.SalataId).ToList(); foreach (var i in SalataIds) { List <int> sastojciIds = ctx.SalataStavke.Where(x => x.SalataId == i).Select(y => y.SastojakId).ToList(); foreach (var n in sastojciIds) { Sastojci s = ctx.Sastojci.Where(x => x.Id == n).FirstOrDefault(); float g = s.Gramaza; s.Stanje = s.Stanje - g; ctx.SaveChanges(); } } // Snimiti promjene ctx.SaveChanges(); /* Ukoliko je sve proslo uredu, potrebno je korisniku poslati email sa sifrom narudzbe */ EmailVm mailVm = new EmailVm(); mailVm.Body = "Poštovani, </br>Uspješno ste izvršili narudžbu. Vaša šifra narudžbe je: " + korisnikKorpa.Sifra; mailVm.Subject = "Express Salad Bar"; mailVm.To = isUserExists.Email; // Slanje emaila sa sfirom narudjbe i odredjenim detaljima narudzbe AccountHelper.Sendemail(mailVm); return(Request.CreateErrorResponse(HttpStatusCode.OK, "Narudžba je uspješno realizovana, provjerite Vaš email")); }