public ContentItem StoreEntry(ContactFormEntry entry) { foreach (var filter in _filters) { filter.Process(entry); } var contentItem = NewEntry(entry); var test = contentItem.Id; var entryCreatingContext = new ContactFormCreatingContext { ContactFormEntry = contentItem }; _contactFormEventHandler.ContactFormEntryCreating(entryCreatingContext); if (entryCreatingContext.Cancel) { return(null); } _services.ContentManager.Create(contentItem); var entryCreatedContext = new ContactFormCreatedContext { ContactFormEntry = contentItem }; _contactFormEventHandler.ContactFormEntryCreated(entryCreatedContext); _services.Notifier.Information(T("Uw bericht is ontvangen. Dank u voor de reactie!")); return(contentItem); }
public async Task <IActionResult> Edit(int id, [Bind("Name,Email,Title,Content,Ip,Id,CreatedOn,ModifiedOn")] ContactFormEntry contactFormEntry) { if (id != contactFormEntry.Id) { return(this.NotFound()); } if (this.ModelState.IsValid) { try { this.context.Update(contactFormEntry); await this.context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!this.ContactFormEntryExists(contactFormEntry.Id)) { return(this.NotFound()); } else { throw; } } return(this.RedirectToAction(nameof(this.Index))); } return(this.View(contactFormEntry)); }
public async Task <IActionResult> Index(ContactFormViewModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } // TODO: Extract to IP provider (service) var ip = this.HttpContext.Connection.RemoteIpAddress.ToString(); var contactFormEntry = new ContactFormEntry { Name = model.Name, Email = model.Email, Title = model.Title, Content = model.Content, Ip = ip, }; await this.contactsRepository.AddAsync(contactFormEntry); await this.contactsRepository.SaveChangesAsync(); await this.emailSender.SendEmailAsync( model.Email, model.Name, GlobalConstants.SystemEmail, model.Title, model.Content); return(this.RedirectToAction("ThankYou")); }
public async Task <IActionResult> Contact(ContactFormViewModel input) { if (!this.ModelState.IsValid) { return(this.View(input)); } var ip = this.HttpContext.Connection.RemoteIpAddress.ToString(); var viewModel = new ContactFormEntry { FullName = input.FullName, Email = input.Email, Title = input.Title, Content = input.Content, Ip = ip, }; await this.contactsRepository.AddAsync(viewModel); await this.contactsRepository.SaveChangesAsync(); await this.emailSender.SendEmailAsync( input.Email, input.FullName, GlobalConstants.SystemEmail, input.Title, input.Content); return(this.RedirectToAction("ThankYou")); }
public ContentItem StoreEntry(ContactFormEntry entry) { foreach (var filter in _filters) { filter.Process(entry); } var contentItem = NewEntry(entry); var entryCreatingContext = new ContactFormCreatingContext { ContactFormEntry = contentItem }; _contactFormEventHandler.ContactFormEntryCreating(entryCreatingContext); if (entryCreatingContext.Cancel) { return(null); } _services.ContentManager.Create(contentItem); var entryCreatedContext = new ContactFormCreatedContext { ContactFormEntry = contentItem }; _contactFormEventHandler.ContactFormEntryCreated(entryCreatedContext); _services.Notifier.Information(T("Your message has been received. Thanks for contacting us!")); return(contentItem); }
public static void SendMail(ContactFormEntry contactFormEntry) { try { using (SmtpClient client = new SmtpClient()) { client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.EnableSsl = true; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "-----"); client.Host = "smtp.gmail.com"; MailMessage mail = new MailMessage(fromAddress, toAddress); mail.Subject = contactFormEntry.Subject; mail.Body = string.Format("Name: {0}\nEmail: {1}\nDatum: {2} om {3}\n\n{4}", contactFormEntry.Name, contactFormEntry.Email, contactFormEntry.CreatedUtc.ToLongDateString(), contactFormEntry.CreatedUtc.ToLongTimeString(), contactFormEntry.MessageBody); mail.BodyEncoding = UTF8Encoding.UTF8; client.Send(mail); mail.Dispose(); } } catch (Exception e) { int x = 0; } }
public async Task <ContactFormEntry> AddContactFormEntry(ContactFormEntry contactFormEntry) { var result = await _appDbContext.ContactFormEntries.AddAsync(contactFormEntry); await _appDbContext.SaveChangesAsync(); contactFormEntry = result.Entity; return(contactFormEntry); }
public async Task SubmitContactForm() { ResetErrorVariables(); bool ifError = false; if (FirstName == "") { ifError = true; FirstName_error = "Please enter your name"; } if (Email == "") { ifError = true; Email_error = "Please enter your email address"; } else { bool result = IsEmailValid(Email); if (!result) { ifError = true; Email_error = "Please enter valid email address"; } } if (Subject == "") { ifError = true; Subject_error = "Please enter subject"; } if (Message == "") { ifError = true; Message_error = "Please write your email"; } if (!ifError) { ContactFormEntry newEntry = new ContactFormEntry { Subject = Subject, Message = Message, Email = Email, FirstName = FirstName, LastName = LastName }; await _contactFormService.AddContactFormEntry(newEntry); NavigationManager.NavigateTo("/ThankYou"); } }
private void InitializeFields() { this.firstUserContactFormEntry = new ContactFormEntry { FirstName = "Stanislav", LastName = "Stoyanov", Email = "*****@*****.**", Subject = "I have a question", Content = "I have to ask you something connected with the system.", }; }
private void InitializeFields() { this.firstUserContactFormEntry = new ContactFormEntry { FirstName = "Stanislav", LastName = "Stoyanov", Email = "*****@*****.**", Subject = "Question about register form", Content = "I have to ask you something connected with the register form.", }; }
public async Task <IActionResult> Create([Bind("Name,Email,Title,Content,Ip,Id,CreatedOn,ModifiedOn")] ContactFormEntry contactFormEntry) { if (this.ModelState.IsValid) { this.context.Add(contactFormEntry); await this.context.SaveChangesAsync(); return(this.RedirectToAction(nameof(Index))); } return(this.View(contactFormEntry)); }
public void SendMaiLOnContactFormCreated(ContentItem contentItem) { var values = new ContactFormEntry() { Name = contentItem.As <ContactFormEntryPart>().SenderName, Email = contentItem.As <ContactFormEntryPart>().SenderEmail, Subject = contentItem.As <TitlePart>().Title, MessageBody = contentItem.As <BodyPart>().Text, CreatedUtc = contentItem.As <CommonPart>().CreatedUtc.Value }; MailService.SendMail(values); }
public async Task Create(string name, string email, string title, string content) { var contactFormEntry = new ContactFormEntry { Name = name, Email = email, Title = title, Content = content, }; await this.contactsRepository.AddAsync(contactFormEntry); await this.contactsRepository.SaveChangesAsync(); }
public async Task CreateContactEntryAsync(ContactFormViewModel model, string ip) { var contactForm = new ContactFormEntry { Name = model.Name, Email = model.Email, Title = model.Title, Content = model.Content, Ip = ip, }; await this.contactsRepository.AddAsync(contactForm); await this.contactsRepository.SaveChangesAsync(); }
public ContentItem NewEntry(ContactFormEntry entry) { var contentItem = _services.ContentManager.New("ContactFormEntry"); var commonPart = contentItem.As <CommonPart>(); var titlePart = contentItem.As <TitlePart>(); var bodyPart = contentItem.As <BodyPart>(); var contactFormEntryPart = contentItem.As <ContactFormEntryPart>(); commonPart.CreatedUtc = entry.CreatedUtc; titlePart.Title = entry.Subject; bodyPart.Text = entry.MessageBody; contactFormEntryPart.SenderName = entry.Name; contactFormEntryPart.SenderEmail = entry.Email; return(contentItem); }
public async Task <bool> AddAsync(ContactFormViewModel input) { var contactFormEntry = new ContactFormEntry { Name = input.Name, Email = input.Email, Subject = input.Subject ?? GlobalConstants.ConstSubject, Content = input.Content, }; await this.contactRepository.AddAsync(contactFormEntry); var result = await this.contactRepository.SaveChangesAsync(); return(result > 0); }
public ContactFormEntryViewModel Convert(ContactFormEntry entry) { if (entry == null) { return(new ContactFormEntryViewModel()); } return(new ContactFormEntryViewModel() { CreatedUtc = entry.CreatedUtc, Email = entry.Email, MessageBody = entry.MessageBody, Name = entry.Name, Subject = entry.Subject }); }
private void InitializeFields() { this.firstUserContactFormEntry = new ContactFormEntry { FirstName = "Stanislav", LastName = "Stoyanov", Email = "*****@*****.**", Subject = "I have a question", Content = "I have to ask you something connected with the system.", }; this.firstAdminContactFormEntry = new AdminContactFromEntry { FullName = "Administrator fullname", Email = "*****@*****.**", Subject = "My answer to your question", Content = "Feel free to ask any other questions about the system.", }; }
public async Task <ActionResult <ContactFormEntry> > AddContactFormEntry(ContactFormEntry contactFormEntry) { try { if (contactFormEntry == null) { return(BadRequest()); } else { var createdEntry = await _contactFormRepository.AddContactFormEntry(contactFormEntry); return(createdEntry); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Error with posting data to the database")); } }
public async Task SendContactToAdminAsync(ContactFormEntryViewModel contactFormEntryViewModel) { var contactFormEntry = new ContactFormEntry { FirstName = contactFormEntryViewModel.FirstName, LastName = contactFormEntryViewModel.LastName, Email = contactFormEntryViewModel.Email, Subject = contactFormEntryViewModel.Subject, Content = contactFormEntryViewModel.Content, }; await this.userContactsRepository.AddAsync(contactFormEntry); await this.userContactsRepository.SaveChangesAsync(); await this.emailSender.SendEmailAsync( contactFormEntryViewModel.Email, string.Concat(contactFormEntryViewModel.FirstName, " ", contactFormEntryViewModel.LastName), GlobalConstants.SystemEmail, contactFormEntryViewModel.Subject, contactFormEntryViewModel.Content); }
public async Task CreateShouldWorkCorrectly() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var dbContext = new ApplicationDbContext(options); var contactRepository = new EfRepository <ContactFormEntry>(dbContext); var service = new ContactService(contactRepository); var newContactRequest = new ContactFormEntry { Title = "testt", Content = "test", Email = "*****@*****.**", Name = "test", }; var result = service.CreateAsync(newContactRequest.Name, newContactRequest.Email, newContactRequest.Title, newContactRequest.Content); Assert.Equal(1, contactRepository.All().Count()); }
private List <ContactFormEntry> GetTestData() { var result = new List <ContactFormEntry>(); int id = 1; for (DateTime i = DateTime.UtcNow.Date.AddDays(-19); i <= DateTime.UtcNow.Date; i = i.AddDays(1)) { bool answered = id % 2 != 0; var entry = new ContactFormEntry { Id = id, CreatedOn = i, Answered = answered, }; result.Add(entry); id++; } return(result); }
public async Task <ContactFormEntry> AddContactFormEntry(ContactFormEntry contactFormEntry) { var result = await _httpClient.PostAsJsonAsync("api/ContactForms", contactFormEntry); return(contactFormEntry); }