// Reset Bid Model private lw_Bids_Model Reset_ClientContact_Mod(lw_Bids_Model bMod) { DateTime? nullDate = null; // reset the model bMod.ID = 0; bMod.BidID = 0; bMod.ClientLocID = ""; bMod.BidAmtRetail = 0; bMod.BidAmtCost = 0; bMod.Area = 0; bMod.BidSent = nullDate; bMod.Description = ""; bMod.BidWon = ""; bMod.Narrative = ""; bMod.AttnName = ""; bMod.Narrative2 = ""; bMod.TwoColumns = ""; bMod.descBidAmtRetail = ""; bMod.descBidAmtCost = ""; bMod.showLocName = ""; bMod.AccNum = 0; bMod.ClientName = ""; // return the model return bMod; }
// Method: Get List by Bid Sent Date public List<lw_Bids_Model> Get_Bids_ByBidSentDate_List(string strDate) { // building the connection string // get the provider, activeStatus database name, and path connectionString = PSWkr.G_SQLDatabaseConnectionString; string strMsg = ""; bool result = false; DateTime DT; DateTime? nullDate = null; // get the compare date result = DateTime.TryParse(strDate, out DT); // create needed objects SqlConnection connection; // building sql command, ContactID is the Key string sqlStatement = "SELECT ID, BidID, ClientLocID, BidAmtRetail, BidAmtCost, Area, BidSent, " + "Description, BidWon, Narrative, AttnName, Narrative2, TwoColumns, descBidAmtRetail, " + "descBidAmtCost, showLocName, AccNum, ClientName " + "FROM lw_Bids " + "WHERE BidSent>=@BidSent " + "ORDER BY BidSent"; // create List List<lw_Bids_Model> bMod_List = new List<lw_Bids_Model>(); try { connection = new SqlConnection(connectionString); connection.Open(); SqlCommand command = new SqlCommand(sqlStatement, connection); command.Parameters.AddWithValue("@BidSent", DT); SqlDataReader reader = command.ExecuteReader(); // read table, populate model while (reader.Read()) { lw_Bids_Model bMod = new lw_Bids_Model(); bMod.ID = (reader[0] != DBNull.Value) ? (Int64)reader[0] : 0; bMod.BidID = (reader[1] != DBNull.Value) ? (Int64)reader[1] : 0; bMod.ClientLocID = (reader[2] != DBNull.Value) ? (string)reader[2] : ""; bMod.BidAmtRetail = (reader[3] != DBNull.Value) ? (decimal)reader[3] : 0; bMod.BidAmtCost = (reader[4] != DBNull.Value) ? (decimal)reader[4] : 0; bMod.Area = (reader[5] != DBNull.Value) ? (Int64)reader[5] : 0; // result = DateTime.TryParse(reader[6].ToString(), out DT); bMod.BidSent = (result) ? DT : nullDate; // bMod.Description = (reader[7] != DBNull.Value) ? (string)reader[7] : ""; bMod.BidWon = (reader[8] != DBNull.Value) ? (string)reader[8] : ""; bMod.Narrative = (reader[9] != DBNull.Value) ? (string)reader[9] : ""; bMod.AttnName = (reader[10] != DBNull.Value) ? (string)reader[10] : ""; bMod.Narrative2 = (reader[11] != DBNull.Value) ? Convert.ToString(reader[11]) : ""; bMod.TwoColumns = (reader[12] != DBNull.Value) ? (string)reader[12] : ""; bMod.descBidAmtRetail = (reader[13] != DBNull.Value) ? (string)reader[13] : ""; bMod.descBidAmtCost = (reader[14] != DBNull.Value) ? (string)reader[14] : ""; bMod.showLocName = (reader[15] != DBNull.Value) ? (string)reader[15] : ""; bMod.AccNum = (reader[16] != DBNull.Value) ? (Int64)reader[16] : 0; bMod.ClientName = (reader[17] != DBNull.Value) ? (string)reader[17] : ""; // add to List bMod_List.Add(bMod); } // close reader, close connection reader.Close(); connection.Close(); strMsg = "BidsList"; } catch (Exception errMsg) { strMsg = errMsg.Message.ToString(); System.Windows.MessageBox.Show(strMsg, "Get_Bids_ByBidSentDate_List", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } // return List return bMod_List; }
// ADD public string Add_Bids_Rec(lw_Bids_Model bMod) { // Method: Create new record // update the database string strMsg = ""; // get the connection string connectionString = PSWkr.G_SQLDatabaseConnectionString; // create connection object SqlConnection connection = new SqlConnection(connectionString); // building sql command string sqlStatement = "INSERT INTO lw_Bids (BidID, ClientLocID, BidAmtRetail, BidAmtCost, Area, BidSent, Description, " + "BidWon, Narrative, AttnName, Narrative2, TwoColumns, descBidAmtRetail, descBidAmtCost, " + "showLocName, AccNum, ClientName) " + "VALUES (@BidID, @ClientLocID, @BidAmtRetail, @BidAmtCost, @Area, @BidSent, @Description, " + "@BidWon, @Narrative, @AttnName, @Narrative2, @TwoColumns, @descBidAmtRetail, @descBidAmtCost, " + "@showLocName, @AccNum, @ClientName)"; // SqlCommand SqlCommand command = new SqlCommand(sqlStatement, connection); try { connection.Open(); // Adding parameters for the Insert Command command.Parameters.AddWithValue("@BidID", bMod.BidID); command.Parameters.AddWithValue("@ClientLocID", bMod.ClientLocID); command.Parameters.AddWithValue("@BidAmtRetail", bMod.BidAmtRetail); command.Parameters.AddWithValue("@BidAmtCost", bMod.BidAmtCost); command.Parameters.AddWithValue("@Area", bMod.Area); command.Parameters.AddWithValue("@BidSent", bMod.BidSent); command.Parameters.AddWithValue("@Description", bMod.Description); command.Parameters.AddWithValue("@BidWon", bMod.BidWon); command.Parameters.AddWithValue("@Narrative", bMod.Narrative); command.Parameters.AddWithValue("@AttnName", bMod.AttnName); command.Parameters.AddWithValue("@Narrative2", bMod.Narrative2); command.Parameters.AddWithValue("@TwoColumns", bMod.TwoColumns); command.Parameters.AddWithValue("@descBidAmtRetail", bMod.descBidAmtRetail); command.Parameters.AddWithValue("@descBidAmtCost", bMod.descBidAmtCost); command.Parameters.AddWithValue("@showLocName", bMod.showLocName); command.Parameters.AddWithValue("@AccNum", bMod.AccNum); command.Parameters.AddWithValue("@ClientName", bMod.ClientName); command.ExecuteNonQuery(); strMsg = "Record was added."; // update Application Value: BidsID by 1 UpdateNext_BidsID(); } catch (Exception e) { strMsg = e.Message.ToString(); System.Windows.MessageBox.Show(strMsg, "Add_Bids_Rec", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } connection.Close(); return strMsg; }
// Method: update record public string Update_Bid_rec(lw_Bids_Model bMod) { // Method: update selected Client record // update the database string strMsg = ""; // get the connection string connectionString = PSWkr.G_SQLDatabaseConnectionString; // create connection object SqlConnection connection = new SqlConnection(connectionString); // building sql command string sqlStatement = "UPDATE lw_Bids " + "SET BidID=@BidID, " + "ClientLocID=@ClientLocID, " + "BidAmtRetail=@BidAmtRetail, " + "BidAmtCost=@BidAmtCost, " + "Area=@Area, " + "BidSent=@BidSent, " + "Description=@Description, " + "BidWon=@BidWon, " + "Narrative=@Narrative, " + "AttnName=@AttnName, " + "Narrative2=@Narrative2, " + "TwoColumns=@TwoColumns, " + "descBidAmtRetail=@descBidAmtRetail, " + "descBidAmtCost=@descBidAmtCost " + "showLocName=@showLocName, " + "AccNum=@AccNum, " + "ClientName=@ClientName " + "WHERE ID=@ID"; // SqlCommand SqlCommand command = new SqlCommand(sqlStatement, connection); try { // update the database connection.Open(); // use of command.parameters... prevents sql injection command.Parameters.AddWithValue("@BidID", bMod.BidID); command.Parameters.AddWithValue("@ClientLocID", bMod.ClientLocID); command.Parameters.AddWithValue("@BidAmtRetail", bMod.BidAmtRetail); command.Parameters.AddWithValue("@BidAmtCost", bMod.BidAmtCost); command.Parameters.AddWithValue("@Area", bMod.Area); command.Parameters.AddWithValue("@BidSent", bMod.BidSent); command.Parameters.AddWithValue("@Description", bMod.Description); command.Parameters.AddWithValue("@BidWon", bMod.BidWon); command.Parameters.AddWithValue("@Narrative", bMod.Narrative); command.Parameters.AddWithValue("@AttnName", bMod.AttnName); command.Parameters.AddWithValue("@Narrative2", bMod.Narrative2); command.Parameters.AddWithValue("@TwoColumns", bMod.TwoColumns); command.Parameters.AddWithValue("@descBidAmtRetail", bMod.descBidAmtRetail); command.Parameters.AddWithValue("@descBidAmtCost", bMod.descBidAmtCost); command.Parameters.AddWithValue("@showLocName", bMod.showLocName); command.Parameters.AddWithValue("@AccNum", bMod.AccNum); command.Parameters.AddWithValue("@ClientName", bMod.ClientName); // command.Parameters.AddWithValue("@ID", bMod.ID); // must be in the order of the sqlstatement command.ExecuteNonQuery(); strMsg = "Record was updated."; } catch (Exception e) { strMsg = e.Message.ToString(); } connection.Close(); return strMsg; }
// Method: get record data based on id public lw_Bids_Model Get_Specific_Bids_Record(int recID) { string strMsg = ""; bool result = false; DateTime DT; DateTime? nullDate = null; // get the connection string connectionString = PSWkr.G_SQLDatabaseConnectionString; // create connection object SqlConnection connection = new SqlConnection(connectionString); // building sql command string sqlStatement = "SELECT ID, BidID, ClientLocID, BidAmtRetail, BidAmtCost, Area, BidSent, " + "Description, BidWon, Narrative, AttnName, Narrative2, TwoColumns, descBidAmtRetail, " + "descBidAmtCost, showLocName, AccNum, ClientName " + "FROM lw_Bids " + "WHERE ID=@ID"; // SqlCommand SqlCommand command = new SqlCommand(sqlStatement, connection); // Create object base on Bids Model (bMod) lw_Bids_Model bMod = new lw_Bids_Model(); try { // open the connection connection.Open(); command.Parameters.AddWithValue("@ID", recID); // execute the reader SqlDataReader reader = command.ExecuteReader(); // populate the invoice list if (reader.Read()) { bMod.ID = (reader[0] != DBNull.Value) ? (Int64)reader[0] : 0; bMod.BidID = (reader[1] != DBNull.Value) ? (Int64)reader[1] : 0; bMod.ClientLocID = (reader[2] != DBNull.Value) ? (string)reader[2] : ""; bMod.BidAmtRetail = (reader[3] != DBNull.Value) ? (decimal)reader[3] : 0; bMod.BidAmtCost = (reader[4] != DBNull.Value) ? (decimal)reader[4] : 0; bMod.Area = (reader[5] != DBNull.Value) ? (Int64)reader[5] : 0; // result = DateTime.TryParse(reader[6].ToString(), out DT); bMod.BidSent = (result) ? DT : nullDate; // bMod.Description = (reader[7] != DBNull.Value) ? (string)reader[7] : ""; bMod.BidWon = (reader[8] != DBNull.Value) ? (string)reader[8] : ""; bMod.Narrative = (reader[9] != DBNull.Value) ? (string)reader[9] : ""; bMod.AttnName = (reader[10] != DBNull.Value) ? (string)reader[10] : ""; bMod.Narrative2 = (reader[11] != DBNull.Value) ? Convert.ToString(reader[11]) : ""; bMod.TwoColumns = (reader[12] != DBNull.Value) ? (string)reader[12] : ""; bMod.descBidAmtRetail = (reader[13] != DBNull.Value) ? (string)reader[13] : ""; bMod.descBidAmtCost = (reader[14] != DBNull.Value) ? (string)reader[14] : ""; bMod.showLocName = (reader[15] != DBNull.Value) ? (string)reader[15] : ""; bMod.AccNum = (reader[16] != DBNull.Value) ? (Int64)reader[16] : 0; bMod.ClientName = (reader[17] != DBNull.Value) ? (string)reader[17] : ""; } // the close reader.Close(); } catch (Exception e) { strMsg = e.Message.ToString(); System.Windows.MessageBox.Show(strMsg, "Get_Specific_Bids_Record", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } // the close connection.Close(); // return the Model return bMod; }
// Async Add Method public void Add_Bids_Async(lw_Bids_Model bMod) { // async thread Task.Run(() => { // add bids record lw_Bids_Worker BWkr = new lw_Bids_Worker(); return BWkr.Add_Bids_Rec(bMod); }) .ContinueWith(task => AddResult = task.Result, context); }
// Aysnc Update Method public void Update_Bids_Async(lw_Bids_Model bMod) { // aysnc thread Task.Run(() => { lw_Bids_Worker BWkr = new lw_Bids_Worker(); return BWkr.Update_Bid_rec(bMod); }) .ContinueWith(task => UpdateResult = task.Result, context); }
// ADD Enable - Blank private void buttonADD_Enable_Blank_Click(object sender, RoutedEventArgs e) { // Enable Add Button has been clicked, so release any data // context reference DataContext = null; // Create a new model object and bind // it to the dataContext DataContext = new lw_Bids_Model(); // set the UI ResetDisplayFields(); ADDButtonConfiguration(); }
// load the Model // load model is used on an ADD private lw_Bids_Model Load_Model() { lw_Bids_Model bMod = new lw_Bids_Model(); bool result = false; Int64 intNum = 0; decimal decNum = 0; DateTime DT; DateTime? nullDate = null; // formatting for Richtext TextRange tr = new TextRange(rtbNarrative.Document.ContentStart, rtbNarrative.Document.ContentEnd); bMod.ID = 0; // result = Int64.TryParse(lblBidID.Content.ToString(), out intNum); bMod.BidID = (result) ? intNum : 0; // bMod.ClientLocID = txtClientLocID.Text; // result = decimal.TryParse(txtBidAmtRetail.Text, out decNum); bMod.BidAmtRetail = (result) ? decNum : 0; // result = decimal.TryParse(txtBidAmtCost.Text, out decNum); bMod.BidAmtCost = (result) ? decNum : 0; // result = Int64.TryParse(txtArea.Text, out intNum); bMod.Area = (result) ? intNum : 0; // result = DateTime.TryParse(dtpBidSent.Text, out DT); bMod.BidSent = (result) ? DT : nullDate; // bMod.Description = txtDescription.Text; bMod.BidWon = cboBidWon.Text; bMod.AttnName = txtAttnName.Text; bMod.descBidAmtRetail = txtdescBidAmtRetail.Text; bMod.descBidAmtCost = txtdescBidAmtCost.Text; // richtext formatting save to db // tr contains reference to rtbNarrative // saved as string in bMod.Narrative using (MemoryStream ms = new MemoryStream()) { tr.Save(ms, DataFormats.Rtf); bMod.Narrative = Encoding.ASCII.GetString(ms.ToArray()); } // returne the model return bMod; }