/// <summary> /// btnCreate_Click - button click event for inserting new track worker into database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { bool bFirstNameValid = ValidatingFirstNameTextbox(); bool bLastNameValid = ValidatingLastNameTextbox(); bool bCellValid = ValidatingCellTextbox(); bool bEmailValid = ValidatingEmailTextbox(); if (bFirstNameValid && bLastNameValid && bCellValid && bEmailValid) { TrackWorkerModel trackWorker = new TrackWorkerModel(); trackWorker.FirstName = txtTrackWorkerFirstName.Text.Trim(); trackWorker.LastName = txtTrackWorkerLastName.Text.Trim(); trackWorker.Cell = txtTrackWorkerCell.Text.Trim(); trackWorker.Email = txtTrackWorkerEmail.Text.Trim(); trackWorker.IsCapableCaptain = rdoIsCapableCaptain_True.Checked ? true : false; try { TrackWorkerDataAccess.SaveTrackWorker(trackWorker); } catch (Exception ex) { MessageBox.Show("Runtime Error\n" + ex.Message, "Unexpected Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.Close(); } } }
/// <summary> /// btnSend_Click - for sending email /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSend_Click(object sender, EventArgs e) { if (stringBodyHTML == null) { MessageBox.Show("You haven't click any event", "Status Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { stringBodyHTML = "<p>" + txtEmailBody.Text.ToString() + "</p>" + stringBodyHTML; webBrowser.DocumentText += stringBodyHTML; MailAddress from = new MailAddress("*****@*****.**", "Ben Miller"); string fromPassword = "******"; MailMessage message = new MailMessage(); message.From = from; message.IsBodyHtml = true; message.Subject = txtEmailSubject.Text.ToString(); message.Body = stringBodyHTML; foreach (int trackWorkerId in allClientEventTrackWorkerIdList) { TrackWorkerModel trackWorker = TrackWorkerDataAccess.LoadTrackWorker(trackWorkerId); //BCC message.Bcc.Add(trackWorker.Email); //To - regular //message.To.Add(trackWorker.Email); } //SmtpClient client = new SmtpClient //{ // Host = "smtp.gmail.com", // Port = 587, // EnableSsl = true, // DeliveryMethod = SmtpDeliveryMethod.Network, // UseDefaultCredentials = false, // Credentials = new NetworkCredential(from.Address, fromPassword) //}; var client = new SmtpClient("smtp.mailtrap.io", 2525) { Credentials = new NetworkCredential("e105e0282339a3", "ac1ce2513bda52"), EnableSsl = true }; Console.WriteLine("Sending an email message to {0} and {1}.", from.DisplayName, message.Bcc.ToString()); try { client.Send(message); MessageBox.Show("Sucessfully delivered email", "Status Message", MessageBoxButtons.OK, MessageBoxIcon.Information); stringBodyHTML = ""; } catch (SmtpException ex) { MessageBox.Show("Failed in sending email", "Status Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <summary> /// DataGridViewForm - add selected track worker for client event /// </summary> /// <param name="clientEventForm"></param> /// <param name="clientsEvents_TrackWorkersList"></param> public DataGridViewForm(ClientEventForm clientEventForm, List <ClientEvents_TrackWorkersModel> clientsEvents_TrackWorkersList) { //TODO Need to Make is sticky for update InitializeComponent(); List <TrackWorkerModel> appliedTrackWorkerIdList = new List <TrackWorkerModel>(); foreach (ClientEvents_TrackWorkersModel clientsEvents_TrackWorkers in clientsEvents_TrackWorkersList) { appliedTrackWorkerIdList.Add(TrackWorkerDataAccess.LoadTrackWorker(clientsEvents_TrackWorkers.TrackWorkerID)); } var dataTable = ToDataTable(appliedTrackWorkerIdList); dataTable.Columns.Add("Selected", typeof(bool)).SetOrdinal(0); dataTable.Columns.Add("Present", typeof(bool)).SetOrdinal(1); dgvData.DataSource = dataTable; dgvData.CellContentClick += dgrvProductTemplate_CellContentClick; dgvData.MultiSelect = false; dgvData.ReadOnly = false; int dgv_width = dgvData.Columns.GetColumnsWidth(DataGridViewElementStates.Visible); this.Width = 365 + dgv_width; if (clientsEvents_TrackWorkersList != null) { foreach (DataGridViewRow row in dgvData.Rows) { DataGridViewCheckBoxCell isSelectedCell = row.Cells["Selected"] as DataGridViewCheckBoxCell; DataGridViewCheckBoxCell isPresentCell = row.Cells["Present"] as DataGridViewCheckBoxCell; isSelectedCell.Value = false; isPresentCell.Value = false; foreach (ClientEvents_TrackWorkersModel trackWorkerId in clientsEvents_TrackWorkersList) { if (row.Cells["TrackWorkerID"].Value.ToString() == trackWorkerId.TrackWorkerID.ToString()) { isSelectedCell.Value = trackWorkerId.IsSelected; isPresentCell.Value = trackWorkerId.IsPresent; } } } } foreach (DataGridViewColumn column in dgvData.Columns) { if (column.HeaderText == "Selected" || column.HeaderText == "Present") { column.ReadOnly = false; } else { column.ReadOnly = true; } } btnSelect.Click += btnSelectedTrackWorker_Click; _clientEventForm = clientEventForm; }
/// <summary> /// RefreshDataGridViewTrackWorker - refresh track worker data grid view /// </summary> public void RefreshDataGridViewTrackWorker() { List <TrackWorkerModel> list = TrackWorkerDataAccess.LoadAllTrackWorker(); DataGridView dataGridView = dgvTrackWorker; DataTable dataTable = ToDataTable(list); //dataTable.Columns["TrackWorkerID"].ColumnName = "Track Worker ID"; dataGridView.DataSource = dataTable; //dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; dataGridView.AutoResizeColumns(); dataGridView.AutoResizeRows(); //dataGridView.Columns["Id"].HeaderText = "Track Worker ID"; //dataGridView.Columns["IsDeleted"].Visible = false; int dgv_width = dataGridView.Columns.GetColumnsWidth(DataGridViewElementStates.Visible); this.Width = 365 + dgv_width; dataGridView.ClearSelection(); txtTrackWorkerSearch.Clear(); }
/// <summary> /// SetWebBrowserTable - for creating html mail /// </summary> public void SetWebBrowserTable() { List <ClientEventModel> clientEventModelsList = new List <ClientEventModel>(); allClientEventTrackWorkerIdList = new List <int>(); foreach (int clientEventId in _clientEventIdList) { ClientEventModel clientEvent = ClientEventDataAccess.LoadClientEvent(clientEventId); clientEvent.TrackWorkersId = ClientEvents_TrackWorkersDataAccess.LoadClientEventTrackWorkerIDList(clientEventId); allClientEventTrackWorkerIdList = allClientEventTrackWorkerIdList.Union(clientEvent.TrackWorkersId).ToList(); clientEventModelsList.Add(clientEvent); } stringBodyHTML += "<table style=\"border: 1px solid black;text-align:center;\">"; stringBodyHTML += "<tr>"; stringBodyHTML += "<td></td>"; foreach (ClientEventModel clientEvent in clientEventModelsList) { ClientModel client = ClientDataAccess.LoadClient(clientEvent.ClientID); stringBodyHTML += "<td style=\"border: 1px solid black;\">" + client.Name + "</td>"; } stringBodyHTML += "</tr>"; stringBodyHTML += "<tr>"; stringBodyHTML += "<td></td>"; foreach (ClientEventModel clientEvent in clientEventModelsList) { stringBodyHTML += "<td style=\"border: 1px solid black;\">" + clientEvent.Date + "</td>"; } stringBodyHTML += "</tr>"; stringBodyHTML += "<tr>"; stringBodyHTML += "<td style=\"border: 1px solid black;\"># Workers Needed</td>"; foreach (ClientEventModel clientEvent in clientEventModelsList) { stringBodyHTML += "<td style=\"border: 1px solid black;\">" + clientEvent.WorkersRequested + "</td>"; } stringBodyHTML += "</tr>"; stringBodyHTML += "<tr>"; stringBodyHTML += "<td style=\"border: 1px solid black;\">Track</td>"; foreach (ClientEventModel clientEvent in clientEventModelsList) { TrackModel track = TrackDataAccess.LoadTrack(clientEvent.TrackID); stringBodyHTML += "<td style=\"border: 1px solid black;\">" + track.Name + "</td>"; } stringBodyHTML += "</tr>"; stringBodyHTML += "<tr><td><b>Worker Name</b></td></tr>"; foreach (int trackWorkerId in allClientEventTrackWorkerIdList) { stringBodyHTML += "<tr>"; TrackWorkerModel trackWorker = TrackWorkerDataAccess.LoadTrackWorker(trackWorkerId); stringBodyHTML += "<td style=\"border: 1px solid black;\">" + trackWorker.FullName() + "</td>"; foreach (ClientEventModel clientEvent in clientEventModelsList) { if (clientEvent.TrackWorkersId.Contains(trackWorkerId)) { stringBodyHTML += "<td style=\"border: 1px solid black;\">X</td>"; } else { stringBodyHTML += "<td style=\"border: 1px solid black;\"> </td>"; } } stringBodyHTML += "</tr>"; } stringBodyHTML += "</table>"; //webBrowser.DocumentText += stringTableHTML; }
/// <summary> /// btnManageTrackWorker_Click - for adding track worker for client event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnManageTrackWorker_Click(object sender, EventArgs e) { DataGridViewForm dataGridViewForm = new DataGridViewForm(this, TrackWorkerDataAccess.LoadTrackWorker(), _clientsEvents_TrackWorkers); dataGridViewForm.ShowDialog(); }