Example #1
0
        private void ProcessNote(EnquiryNoteModel noteModel)
        {
            _isEditMode = (noteModel != null);

            EnquiryNote = (_isEditMode) ? noteModel : GetNote();
            if (_isEditMode)
            {
                _originalEnquiryNote = EnquiryNote.Clone();
            }
            EnquiryNote.PropertyChanged += EnquiryNoteOnPropertyChanged;
        }
Example #2
0
        protected async void OnClick(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            if (Session["CheckRefresh"].ToString() == ViewState["CheckRefresh"].ToString())
            {
                Session["CheckRefresh"] = Server.UrlDecode(DateTime.Now.ToString());
            }
            else
            {
                ClearAll();
                return;
            }

            DefaultSettingsForEnquiry defaultSettings =
                (await _webEnquiryDataUnit.DefaultSettingsForEnquiriesRepository.GetAllAsync()).First();

            var user = (await _webEnquiryDataUnit.UsersRepository.GetUsersAsync(x => x.ID == defaultSettings.UserID)).FirstOrDefault();

            var emailSettings = (await _webEnquiryDataUnit.EmailSettingsRepository.GetAllAsync()).First();

            var receivedMethods =
                new List <EnquiryReceiveMethod>(await _webEnquiryDataUnit.EnquiryReceiveMethodsRepository.GetAllAsync());
            var eventStatuses = new List <EventStatus>(await _webEnquiryDataUnit.EventStatusesRepository.GetAllAsync());

            var      places = String.IsNullOrEmpty(txtNum.Text) ? 0 : Convert.ToInt32(txtNum.Text);
            var      name   = String.IsNullOrEmpty(txtName.Text) ? "Web Enquiry" : txtName.Text;
            DateTime?date;

            if (!String.IsNullOrEmpty(txtDate.Text))
            {
                date = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", CultureInfo.CurrentCulture);
            }
            else
            {
                date = null;
            }

            var contact = new Contact()
            {
                ID        = Guid.NewGuid(),
                FirstName = txtFirstName.Text,
                LastName  = txtLastName.Text,
                Phone1    = txtMobilePhone.Text,
                Email     = txtEmail.Text
            };

            _webEnquiryDataUnit.ContactsRepository.Add(contact);

            var enquiry = new Enquiry()
            {
                ID               = Guid.NewGuid(),
                Date             = date,
                Name             = name,
                EventTypeID      = Guid.Parse(EventTypesDropDown.SelectedValue),
                EventStatusID    = eventStatuses.First(x => x.Name.Equals("Enquiry")).ID,
                Places           = places,
                ContactID        = contact.ID,
                EnquiryStatusID  = defaultSettings.EnquiryStatusID,
                AssignedToID     = defaultSettings.UserID,
                ReceivedMethodID = receivedMethods.First(x => x.ReceiveMethod == "web site").ID,
                TakenByID        = defaultSettings.UserID,
                CreationDate     = DateTime.Now
            };

            _webEnquiryDataUnit.EnquiriesRepository.Add(enquiry);

            if (!String.IsNullOrEmpty(txtEventDetails.Text))
            {
                var note = new EnquiryNote()
                {
                    ID        = Guid.NewGuid(),
                    EnquiryID = enquiry.ID,
                    Note      = txtEventDetails.Text,
                    Date      = DateTime.Now,
                    UserID    = defaultSettings.UserID,
                };

                _webEnquiryDataUnit.EnquiryNotesRepository.Add(note);
            }

            var update = new EnquiryUpdate()
            {
                ID        = Guid.NewGuid(),
                EnquiryID = enquiry.ID,
                Date      = DateTime.Now,
                UserID    = defaultSettings.UserID,
                Message   = string.Format("Enquiry {0} was created", enquiry.Name)
            };

            _webEnquiryDataUnit.EnquiryUpdatesRepository.Add(update);

            _webEnquiryDataUnit.SaveChanges();

            Alert("Enquiry was successfully sent", Page);

            try
            {
                using (var smtpClient = new SmtpClient(emailSettings.Server))
                {
                    smtpClient.Port                  = 587;
                    smtpClient.EnableSsl             = emailSettings.EnableSSL;
                    smtpClient.UseDefaultCredentials = false;
                    smtpClient.Credentials           = new NetworkCredential(emailSettings.Username, emailSettings.Password);

                    using (var message = new MailMessage())
                    {
                        message.From            = new MailAddress(defaultSettings.FromAddress);
                        message.IsBodyHtml      = true;
                        message.Subject         = "Web Enquiry";
                        message.SubjectEncoding = Encoding.UTF8;
                        message.Body            = "Enquiry " + enquiry.Name + " has been received.";
                        message.BodyEncoding    = Encoding.UTF8;
                        message.To.Add(user.EmailAddress);

                        smtpClient.Send(message);
                    }
                }
            }
            catch (SmtpException)
            {
                Alert("Couldn't send email", Page);
            }

            ClearAll();
        }
Example #3
0
 public EnquiryNoteModel(EnquiryNote enquiryNote)
 {
     _enquiryNote = enquiryNote;
 }