Ejemplo n.º 1
0
        /// <summary>
        /// TrackWorkerForm constructor from main form, we pass mainform since we need to refresh datagridview on main form and this is one of the way
        ///     and we pass track worker object that we get from datagridview.
        /// FOR UPDATE OF TRACKWORKER
        /// </summary>
        /// <param name="mainForm">main form</param>
        /// <param name="trackWorker">track worker from datagridview</param>
        public TrackWorkerForm(MainForm mainForm, TrackWorkerModel trackWorker)
        {
            InitializeComponent();

            _mainForm = mainForm;
            // Wire btnEnter click event into btnUpdate_Click event
            btnEnter.Click += btnUpdate_Click;

            // Moving TrackWorker data into the form
            txtTrackWorkerId.Text        = trackWorker.TrackWorkerID.ToString();
            txtTrackWorkerFirstName.Text = trackWorker.FirstName;
            txtTrackWorkerLastName.Text  = trackWorker.LastName;
            txtTrackWorkerCell.Text      = trackWorker.Cell;
            txtTrackWorkerEmail.Text     = trackWorker.Email;
            if (trackWorker.IsCapableCaptain)
            {
                rdoIsCapableCaptain_True.Checked = true;
            }
            else
            {
                rdoIsCapableCaptain_False.Checked = true;
            }
            if (trackWorker.IsDeleted)
            {
                rdoIsDeleted_Disabled.Checked = true;
            }
            else
            {
                rdoIsDeleted_Enabled.Checked = true;
            }
            // Change the btnEnter text into Update
            btnEnter.Text = "&Update";
        }
Ejemplo n.º 2
0
        /// <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>
        /// SaveTrackWorker -  save a new track worker record
        /// </summary>
        /// <param name="trackWorker">new track worker</param>
        public static void SaveTrackWorker(TrackWorkerModel trackWorker)
        {
            using (SQLiteConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                cnn.Open();
                string sqlStatement = "INSERT INTO TrackWorkers(FirstName, LastName, Cell, Email, IsCapableCaptain, IsDeleted) VALUES(@firstName, @lastName, @cell, @email, @isCapableCaptain, @isDeleted)";

                var cmd = new SQLiteCommand(sqlStatement, cnn);
                cmd.Parameters.AddWithValue("@firstName", trackWorker.FirstName);
                cmd.Parameters.AddWithValue("@lastName", trackWorker.LastName);
                cmd.Parameters.AddWithValue("@cell", trackWorker.Cell);
                cmd.Parameters.AddWithValue("@email", trackWorker.Email);
                cmd.Parameters.AddWithValue("@isCapableCaptain", trackWorker.IsCapableCaptain);
                // HARD CODED FALSE
                cmd.Parameters.AddWithValue("@isDeleted", false);

                try
                {
                    cmd.Prepare();
                    cmd.ExecuteNonQuery();
                }
                catch (SQLiteException ex)
                {
                    throw ex;
                }
                finally
                {
                    cnn.Close();
                }
            }
        }
Ejemplo n.º 4
0
        /// <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);
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// dgvTrackWorker_CellClick - track worker data grid view cell click to update record
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvTrackWorker_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                TrackWorkerModel trackWorker = new TrackWorkerModel();

                trackWorker.TrackWorkerID = int.Parse(dgvTrackWorker.Rows[e.RowIndex].Cells["TrackWorkerID"].Value.ToString());
                trackWorker.FirstName     = dgvTrackWorker.Rows[e.RowIndex].Cells["FirstName"].Value.ToString();
                trackWorker.LastName      = dgvTrackWorker.Rows[e.RowIndex].Cells["LastName"].Value.ToString();
                trackWorker.Cell          = dgvTrackWorker.Rows[e.RowIndex].Cells["Cell"].Value.ToString();
                trackWorker.Email         = dgvTrackWorker.Rows[e.RowIndex].Cells["Email"].Value.ToString();

                if (dgvTrackWorker.Rows[e.RowIndex].Cells["IsCapableCaptain"].Value.ToString() == "True")
                {
                    trackWorker.IsCapableCaptain = true;
                }
                else
                {
                    trackWorker.IsCapableCaptain = false;
                }
                if (dgvTrackWorker.Rows[e.RowIndex].Cells["IsDeleted"].Value.ToString() == "True")
                {
                    trackWorker.IsDeleted = true;
                }
                else
                {
                    trackWorker.IsDeleted = false;
                }
                TrackWorkerForm trackWorkerForm = new TrackWorkerForm(this, trackWorker);
                trackWorkerForm.ShowDialog();
            }
        }
        /// <summary>
        /// UpdateTrackWorker - update track worker record
        /// </summary>
        /// <param name="updatedClient">Updated track worker object</param>
        /// <param name="id">track worker id</param>
        /// <returns>bool true or false</returns>
        public static bool UpdateTrackWorker(TrackWorkerModel updatedTrackWorker, int id)
        {
            using (SQLiteConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                var ReturnVal = 0;
                cnn.Open();

                string sqlStatement = "UPDATE TrackWorkers SET [FirstName] = @updatedFirstName, [LastName] = @updatedLastName, "
                                      + "[Cell] = @updatedCell, [Email] = @updatedEmail, [IsCapableCaptain] = @updatedIsCapableCaptain, [IsDeleted] = @updatedIsDeleted "
                                      + "WHERE [TrackWorkerID] = @id";

                var cmd = new SQLiteCommand(sqlStatement, cnn);
                cmd.Parameters.AddWithValue("@updatedFirstName", updatedTrackWorker.FirstName);
                cmd.Parameters.AddWithValue("@updatedLastName", updatedTrackWorker.LastName);
                cmd.Parameters.AddWithValue("@updatedCell", updatedTrackWorker.Cell);
                cmd.Parameters.AddWithValue("@updatedEmail", updatedTrackWorker.Email);
                cmd.Parameters.AddWithValue("@updatedIsCapableCaptain", updatedTrackWorker.IsCapableCaptain);
                cmd.Parameters.AddWithValue("@updatedIsDeleted", updatedTrackWorker.IsDeleted);

                cmd.Parameters.AddWithValue("@id", id);

                try
                {
                    cmd.Prepare();
                    ReturnVal = cmd.ExecuteNonQuery();
                }
                catch (SQLiteException ex)
                {
                    throw ex;
                }
                finally
                {
                    cnn.Close();
                }
                return(ReturnVal == 1);
            }
        }
Ejemplo n.º 7
0
        /// <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;\">&nbsp;</td>";
                    }
                }
                stringBodyHTML += "</tr>";
            }
            stringBodyHTML += "</table>";

            //webBrowser.DocumentText += stringTableHTML;
        }