public async Task FileContactFormAsyncShouldCreateNewContactFormInDb()
        {
            var formCount = this.DbContext.ContactForms.ToArray().Count();

            Assert.Equal(1, formCount);

            var viewModel = new ContactIndexViewModel
            {
                Content = "test1",
                Email   = "*****@*****.**",
                Name    = "TestName1",
                Title   = "TestTitle1",
            };

            await this.Service.FileContactFormAsync(viewModel);

            var form = await this.DbContext.ContactForms
                       .Where(f => f.Email == "*****@*****.**").FirstOrDefaultAsync();

            formCount = this.DbContext.ContactForms.ToArray().Count();

            Assert.Equal(2, formCount);
            Assert.Equal("test1", form.Content);
            Assert.Equal("*****@*****.**", form.Email);
            Assert.Equal("TestName1", form.Name);
            Assert.Equal("TestTitle1", form.Title);
        }
Exemplo n.º 2
0
        // GET: Contact
        public ActionResult Index()
        {
            var viewModel = new ContactIndexViewModel();

            viewModel.Contacts = _mapper.Map <IEnumerable <ContactDTO>, IEnumerable <ContactViewModel> >(_contactService.GetContacts());
            return(View(viewModel));
        }
Exemplo n.º 3
0
        public IActionResult Index()
        {
            var viewModel = new ContactIndexViewModel();

            viewModel.SysUser = HttpContext.Session.GetObjectFromJson <SysUserViewModel>("CurrentUser");
            return(View(viewModel));
        }
Exemplo n.º 4
0
        public ActionResult Index(string id, string holder)
        {
            var model = new ContactIndexViewModel()
            {
                Selectable = false
            };

            if (id != null && this.contactHolders.Contains(holder))
            {
                model.Selectable = true;
                model.Holder     = holder;
                model.HolderId   = id;
            }

            this.ViewBag.Addresses = this.addressService
                                     .GetAll()
                                     .Select(a => new
            {
                Value = a.Id.ToString(),
                Text  = a.Country + ", " + a.City + ", " + a.Street
            })
                                     .ToList();

            return(this.View(model));
        }
Exemplo n.º 5
0
        public ActionResult Search(string search)
        {
            var viewModel = new ContactIndexViewModel();

            viewModel.Contacts = _mapper.Map <IEnumerable <ContactDTO>, IEnumerable <ContactViewModel> >(_contactService.Find(search));
            viewModel.Search   = search;

            return(View("Index", viewModel));
        }
Exemplo n.º 6
0
        // GET: Contacts
        public ActionResult Index()
        {
            var vm = new ContactIndexViewModel()
            {
                Contacts = _uow.Contacts.AllforUser(User.Identity.GetUserId <int>())
            };

            vm.ContactCount = vm.Contacts.Count;

            return(View(vm));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Index(ContactIndexViewModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(inputModel));
            }

            await this.contactsService.FileContactFormAsync(inputModel);

            var name = inputModel.Name;

            return(this.RedirectToAction(nameof(this.ThankYou), new { name }));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> IndexAsync(ContactIndexViewModel model)
        {
            if (!RecaptchaValidator.IsRecaptchaValid(Request.Form["g-recaptcha-response"]) || model.TripCheck)
            {
                return(Ok());
            }

            var ip = Request.HttpContext.Connection.RemoteIpAddress.ToString();

            await _emailSender.SendEmailAsync(PlatformContactEmail, "Message From: " + model.Name, model.GetEmailMessage(ip));

            return(RedirectToAction(nameof(Confirm)));
        }
        public async Task GetByIdAsyncReturnsCorrectRecord()
        {
            var viewModel = new ContactIndexViewModel
            {
                Content = "test",
                Email   = "*****@*****.**",
                Name    = "TestName",
                Title   = "TestTitle",
            };

            var id = await this.Service.FileContactFormAsync(viewModel);

            var form = await this.Service.GetByIdAsync <ContactIndexViewModel>(id);

            Assert.Equal("test", form.Content);
            Assert.Equal("*****@*****.**", form.Email);
            Assert.Equal("TestName", form.Name);
            Assert.Equal("TestTitle", form.Title);
        }
Exemplo n.º 10
0
        public async Task GetCountAsyncReturnCorrectResult()
        {
            var formCount = await this.Service.GetCountAsync();

            Assert.Equal(1, formCount);

            var viewModel = new ContactIndexViewModel
            {
                Content = "test",
                Email   = "*****@*****.**",
                Name    = "TestName",
                Title   = "TestTitle",
            };

            await this.Service.FileContactFormAsync(viewModel);

            formCount = await this.Service.GetCountAsync();

            Assert.Equal(2, formCount);
        }
Exemplo n.º 11
0
        public ActionResult Index(string id, string holder)
        {
            var model = new ContactIndexViewModel() { Selectable = false };
            if (id != null && this.contactHolders.Contains(holder))
            {
                model.Selectable = true;
                model.Holder = holder;
                model.HolderId = id;
            }

            this.ViewBag.Addresses = this.addressService
                .GetAll()
                .Select(a => new
                {
                    Value = a.Id.ToString(),
                    Text = a.Country + ", " + a.City + ", " + a.Street
                })
                .ToList();

            return this.View(model);
        }
Exemplo n.º 12
0
        public async Task <int> FileContactFormAsync(ContactIndexViewModel inputModel)
        {
            var contactFormEntry = new ContactForm
            {
                Email   = inputModel.Email,
                Content = inputModel.Content,
                Name    = inputModel.Name,
                Title   = inputModel.Title,
            };

            await this.contactFormsRepository.AddAsync(contactFormEntry);

            await this.contactFormsRepository.SaveChangesAsync();

            await this.emailSender.SendEmailAsync(
                inputModel.Email,
                inputModel.Name,
                EmailHtmlMessages.GetContactFormContentHtml(inputModel.Name, inputModel.Title, inputModel.Content));

            return(contactFormEntry.Id);
        }
Exemplo n.º 13
0
        public IActionResult DoSend(ContactIndexViewModel viewModel, MobileModel mobileModel)
        {
            // Ensure we have a valid viewModel to work with
            if (ModelState.IsValid)
            {
                try
                {
                    var contact = Mapper.Map <Contact>(viewModel);
                    contact.CreatedDate = DateTime.Now;
                    _contactService.Insert(contact);
                    _unitOfWork.SaveChanges();
                    var template = _templateService.Queryable().FirstOrDefault(x => x.Name == EnumTemplate.Contact.ToString());

                    var contactEmailTemplateViewModel = Mapper.Map <ContactEmailTemplateViewModel>(viewModel);
                    contactEmailTemplateViewModel.CategoryName            = ((EnumContactCategory)viewModel.Category).ToString();
                    contactEmailTemplateViewModel.CategoryText            = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Category");
                    contactEmailTemplateViewModel.CheersText              = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Cheers");
                    contactEmailTemplateViewModel.ContactInfoText         = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "ContactInfo");
                    contactEmailTemplateViewModel.CPLTeamText             = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "CPLTeam");
                    contactEmailTemplateViewModel.DescriptionText         = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Description");
                    contactEmailTemplateViewModel.EmailText               = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Email");
                    contactEmailTemplateViewModel.HiText                  = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Hi");
                    contactEmailTemplateViewModel.MessageFromCustomerText = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "MessageFromCustomer");
                    contactEmailTemplateViewModel.SubjectText             = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Subject");
                    contactEmailTemplateViewModel.WebsiteText             = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "Website");
                    contactEmailTemplateViewModel.RootUrl                 = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}";

                    template.Body    = _viewRenderService.RenderToStringAsync("/Views/Contact/_ContactEmailTemplate.cshtml", contactEmailTemplateViewModel).Result;
                    template.Subject = string.Format(template.Subject, contact.Id);
                    EmailHelper.Send(Mapper.Map <TemplateViewModel>(template), CPLConstant.SMTP.Contact);

                    if (mobileModel.IsMobile)
                    {
                        return(new JsonResult(new
                        {
                            code = EnumResponseStatus.SUCCESS,
                            success_message_key = CPLConstant.MobileAppConstant.ContactScreenEmailSentSuccessfully
                        }));
                    }
                    return(new JsonResult(new { success = true, message = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "MessageSentSuccessfully") }));
                }
                catch (Exception ex)
                {
                    if (mobileModel.IsMobile)
                    {
                        return(new JsonResult(new
                        {
                            code = EnumResponseStatus.ERROR,
                            error_message_key = CPLConstant.MobileAppConstant.CommonErrorOccurs,
                            error_message = ex.Message
                        }));
                    }
                    return(new JsonResult(new { success = false, message = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "ErrorOccurs") }));
                }
            }

            if (mobileModel.IsMobile)
            {
                return(new JsonResult(new
                {
                    code = EnumResponseStatus.ERROR,
                    error_message_key = CPLConstant.MobileAppConstant.CommonErrorOccurs
                }));
            }
            return(new JsonResult(new { success = false, message = LangDetailHelper.Get(HttpContext.Session.GetInt32("LangId").Value, "ErrorOccurs") }));
        }