Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        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");
            }
        }
Exemplo n.º 9
0
 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.",
     };
 }
Exemplo n.º 11
0
        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));
        }
Exemplo n.º 12
0
        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();
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
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);
        }
Exemplo n.º 21
0
        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());
        }
Exemplo n.º 22
0
        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);
        }