private void ProcessNote(EnquiryNoteModel noteModel) { _isEditMode = (noteModel != null); EnquiryNote = (_isEditMode) ? noteModel : GetNote(); if (_isEditMode) { _originalEnquiryNote = EnquiryNote.Clone(); } EnquiryNote.PropertyChanged += EnquiryNoteOnPropertyChanged; }
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(); }
public EnquiryNoteModel(EnquiryNote enquiryNote) { _enquiryNote = enquiryNote; }