コード例 #1
0
        /// <summary>
        /// SaveClientEvent -  save a new record of client event
        /// </summary>
        /// <param name="clientEvent">new client event</param>
        public static void SaveClientEvent(ClientEventModel clientEvent, List <ClientEvents_TrackWorkersModel> clientsEvents_TrackWorkersList)
        {
            using (SQLiteConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                cnn.Open();
                string sqlStatement = "INSERT INTO ClientEvents(ClientID, TrackID, Date, WorkersRequested, IsLunchProvided, "
                                      + "IsUsingUpperPaddock, IsUsingMiddlePaddock, IsUsingLowerPaddock, WorkerCalloutSent, RequireSafetyDemo, "
                                      + "IsDeleted) VALUES( @clientId, @trackId, @date, @workerRequested, @isLunchProvided, @isUsingUpperPaddock, "
                                      + "@isUsingMiddlePaddock, @isUsingLowerPaddock, @workerCalloutSent, @requireSafetyDemo, @isDeleted )";

                var cmd = new SQLiteCommand(sqlStatement, cnn);
                cmd.Parameters.AddWithValue("@clientId", clientEvent.ClientID);
                cmd.Parameters.AddWithValue("@trackId", clientEvent.TrackID);
                cmd.Parameters.AddWithValue("@date", clientEvent.Date);
                cmd.Parameters.AddWithValue("@workerRequested", clientEvent.WorkersRequested);
                cmd.Parameters.AddWithValue("@isLunchProvided", clientEvent.IsLunchProvided);
                cmd.Parameters.AddWithValue("@isUsingUpperPaddock", clientEvent.IsUsingUpperPaddock);
                cmd.Parameters.AddWithValue("@isUsingMiddlePaddock", clientEvent.IsUsingMiddlePaddock);
                cmd.Parameters.AddWithValue("@isUsingLowerPaddock", clientEvent.IsUsingLowerPaddock);
                cmd.Parameters.AddWithValue("@workerCalloutSent", clientEvent.WorkerCalloutSent);
                cmd.Parameters.AddWithValue("@requireSafetyDemo", clientEvent.RequireSafetyDemo);
                // HARD CODED FALSE
                cmd.Parameters.AddWithValue("@isDeleted", false);

                try
                {
                    cmd.Prepare();
                    cmd.ExecuteNonQuery();
                }
                catch (SQLiteException ex)
                {
                    throw ex;
                }
                try
                {
                    ClientEvents_TrackWorkersDataAccess.SaveClientEventTrackWorker(clientsEvents_TrackWorkersList, cnn);
                }
                finally
                {
                    cnn.Close();
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// ClientEventForm - for updating client event record
        /// </summary>
        /// <param name="mainForm">main form</param>
        /// <param name="clientEventModel">client event record</param>
        public ClientEventForm(MainForm mainForm, ClientEventModel clientEventModel)
        {
            _mainForm = mainForm;
            InitializeComponent();
            btnEnter.Click += btnClientEventUpdate_Click;

            btnEnter.Text = "&Update";

            // load client event data to the form
            _clientEvent = clientEventModel;
            ClientModel clientModel = ClientDataAccess.LoadClient(_clientEvent.ClientID);
            TrackModel  trackModel  = TrackDataAccess.LoadTrack(_clientEvent.TrackID);

            _clientsEvents_TrackWorkers = ClientEvents_TrackWorkersDataAccess.LoadClientEventTrackWorker(clientEventModel.ClientEventID);

            txtClientEventId.Text = clientEventModel.ClientEventID.ToString();
            txtClientId.Text      = clientModel.Name.ToString();
            txtTrackID.Text       = trackModel.Name.ToString();

            txtClientEventDate.Text = _clientEvent.Date.ToString();
            txtWorkerRequested.Text = _clientEvent.WorkersRequested.ToString();
            if (_clientEvent.IsLunchProvided)
            {
                rdoClientEventIsLunchProvided_True.Checked = true;
            }
            else
            {
                rdoClientEventIsLunchProvided_False.Checked = true;
            }

            if (_clientEvent.IsUsingUpperPaddock)
            {
                cbClientEventIsUsingUpperPaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingUpperPaddock.Checked = false;
            }

            if (_clientEvent.IsUsingMiddlePaddock)
            {
                cbClientEventIsUsingMiddlePaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingMiddlePaddock.Checked = false;
            }

            if (_clientEvent.IsUsingLowerPaddock)
            {
                cbClientEventIsUsingLowerPaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingLowerPaddock.Checked = false;
            }

            if (_clientEvent.WorkerCalloutSent)
            {
                rdoClientEventWorkerCalloutSent_True.Checked = true;
            }
            else
            {
                rdoClientEventWorkerCalloutSent_False.Checked = true;
            }

            if (_clientEvent.RequireSafetyDemo)
            {
                rdoClientEventRequireSafetyDemo_True.Checked = true;
            }
            else
            {
                rdoClientEventRequireSafetyDemo_False.Checked = true;
            }

            if (_clientEvent.IsDeleted)
            {
                rdoClientEventIsDeleted_Disabled.Checked = true;
            }
            else
            {
                rdoClientEventIsDeleted_Enabled.Checked = true;
            }
        }
コード例 #3
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;
        }
コード例 #4
0
        /// <summary>
        /// btnClientEventUpdate_Click - click event for update client event record
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnClientEventUpdate_Click(object sender, EventArgs e)
        {
            if (ValidateChildren(ValidationConstraints.Enabled))
            {
                bool isValid = true;
                _clientEvent.ClientEventID     = int.Parse(txtClientEventId.Text.Trim());
                _clientEvent.WorkersRequested  = int.Parse(txtWorkerRequested.Text.Trim());
                _clientEvent.Date              = txtClientEventDate.Text.Trim();
                _clientEvent.IsLunchProvided   = rdoClientEventIsLunchProvided_True.Checked ? true : false;
                _clientEvent.WorkerCalloutSent = rdoClientEventWorkerCalloutSent_True.Checked ? true : false;
                _clientEvent.RequireSafetyDemo = rdoClientEventRequireSafetyDemo_True.Checked ? true : false;

                if (cbClientEventIsUsingUpperPaddock.Checked != true && cbClientEventIsUsingMiddlePaddock.Checked != true && cbClientEventIsUsingLowerPaddock.Checked != true)
                {
                    isValid = false;
                    gbClientEventIsUsingPaddock.Focus();
                    errorProviderApp.SetError(gbClientEventIsUsingPaddock, "At least one paddock should be selected!");
                }
                else
                {
                    if (cbClientEventIsUsingUpperPaddock.Checked)
                    {
                        _clientEvent.IsUsingUpperPaddock = true;
                    }
                    else
                    {
                        _clientEvent.IsUsingUpperPaddock = false;
                    }

                    if (cbClientEventIsUsingMiddlePaddock.Checked)
                    {
                        _clientEvent.IsUsingMiddlePaddock = true;
                    }
                    else
                    {
                        _clientEvent.IsUsingMiddlePaddock = false;
                    }

                    if (cbClientEventIsUsingLowerPaddock.Checked)
                    {
                        _clientEvent.IsUsingLowerPaddock = true;
                    }
                    else
                    {
                        _clientEvent.IsUsingLowerPaddock = false;
                    }
                }

                if (_clientEvent.ClientID == 0)
                {
                    isValid = false;
                    btnClientAdd.Focus();
                    errorProviderApp.SetError(btnClientAdd, "You havent select a client");
                }

                if (_clientEvent.TrackID == 0)
                {
                    isValid = false;
                    btnTrackAdd.Focus();
                    errorProviderApp.SetError(btnTrackAdd, "You havent select a track");
                }

                if (_clientsEvents_TrackWorkers.Count == 0)
                {
                    isValid = false;
                    btnManageTrackWorker.Focus();
                    errorProviderApp.SetError(btnManageTrackWorker, "You havent select any Track Worker");
                }


                if (isValid)
                {
                    try
                    {
                        // database insert statement
                        ClientEventDataAccess.UpdateClientEvent(_clientEvent, _clientEvent.ClientEventID);
                        ClientEvents_TrackWorkersDataAccess.RemoveAllClientEventTrackWorker(_clientEvent.ClientEventID);
                        ClientEvents_TrackWorkersDataAccess.SaveClientEventTrackWorker(_clientsEvents_TrackWorkers, _clientEvent.ClientEventID);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Runtime Error\n" + ex.Message, "Unexpected Error",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    finally
                    {
                        this.Close();
                    }
                }
            }
        }