private bool ModifyDemandInDB(Order demandToModify) { var dbContext = new DemandTrackerDBModelv13(); var demandInDB = (from item in dbContext.Orders where item.Id == currentIndex select item).SingleOrDefault(); int index = 0; foreach (var item in demandInDB.GetType().GetProperties()) { object objValue = demandToModify.GetType().GetProperty(item.Name).GetValue(demandToModify, null); demandInDB.GetType().GetProperty(item.Name).SetValue(demandInDB, objValue); ++index; } demandInDB.LockStatus = true; ShowDBRecordInGridView(demandInDB); try { dbContext.SaveChanges(); return(true); } catch (Exception ex) { ShowStatusForm2("Error during modify record: " + ex.Message); } return(false); }
private bool AddNewDemandIntoDB(Order demandToSave) { var dbContext = new DemandTrackerDBModelv13(); demandToSave.LockStatus = false; //demandToSave.Id = 101; try { dbContext.Orders.Add(demandToSave); dbContext.SaveChanges(); return(true); } catch (Exception ex) { ShowStatusForm2("Error during save record: " + ex.Message); } return(false); }
private string[] readGridHeader() { var headerContext = new DemandTrackerDBModelv13(); //TODO implement Try {} var gridHeader = from db in headerContext.OrdersInfoes select db.header; int index = 0; string[] header = new string[gridHeader.Count()]; foreach (var item in gridHeader) { header[index] = item.ToString(); index++; } return(header); }
private string[] readstatusCBCell() { var statusContext = new DemandTrackerDBModelv13(); //TODO implement Try {} var statusCB = from db in statusContext.OrdersInfoes where db.dropdownmenu != null select db.dropdownmenu; int index = 0; string[] status = new string[statusCB.Count()]; foreach (var item in statusCB) { if (item != null) { status[index] = item.ToString(); index++; } } return(status); }
private void updateRecord() { //int currentId = (int)dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString(); int currentId = Int32.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString()); var dbContext = new DemandTrackerDBModelv13(); try { var selectedDemandRecord = (from db in dbContext.Orders where db.Id == currentId select db).SingleOrDefault(); //showStatusForm1(selectedDemandRecord.LockStatus.Value.ToString()); if (!(selectedDemandRecord.LockStatus.Value)) { selectedDemandRecord.LockStatus = true; try { dbContext.SaveChanges(); } catch (Exception ex2) { showStatusForm1("Unable to Lock row:" + dataGridView1.CurrentCell.RowIndex + " in DB. Error:" + ex2.Message); } this.Hide(); Form2 form2 = new Form2(selectedDemandRecord); form2.Show(); form2.FormClosed += f_FormClosed; } else { showStatusForm1("Row:" + (dataGridView1.CurrentCell.RowIndex + 1) + " is locked by another user or process."); } } catch (Exception ex1) { showStatusForm1("Error while loading selected row from DB to modify:" + ex1.Message); } }
private bool CloseForm2ModifyRecord() { if (!(currentIndex == -1)) { var dbContext = new DemandTrackerDBModelv13(); try { var selectedDemandRecord = (from db in dbContext.Orders where db.Id == currentIndex select db).SingleOrDefault(); selectedDemandRecord.LockStatus = false; dbContext.SaveChanges(); //MessageBox.Show("Saved into DB"); return(true); } catch (Exception ex) { ShowStatusForm2("Unable to unlock item in DB with index:" + currentIndex + ". Error:" + ex.Message); return(false); } } return(false); }
private void LoadDataFromDB() { var dbContext = new DemandTrackerDBModelv13(); //TODO - replace Load method using DataTables //load data try { var myGridSource = from db in dbContext.Orders select db; DataTable myDataTable = new DataTable(); //Add columns into GridView var newColumn = myGridSource.FirstOrDefault(); int i = 1; foreach (var item in newColumn.GetType().GetProperties()) { DataColumn dataColumnToAdd = new DataColumn(item.Name); myDataTable.Columns.Add(dataColumnToAdd); i++; } //Add data into GridView foreach (var currentRow in myGridSource) { object[] newRow = new object[currentRow.GetType().GetProperties().Count()]; int index = 0; foreach (var item in currentRow.GetType().GetProperties()) { newRow[index] = currentRow.GetType().GetProperty(item.Name).GetValue(currentRow, null); index++; } myDataTable.LoadDataRow(newRow, true); showStatusForm1("New Row Added:" + newRow); } dataGridView1.DataSource = myDataTable; dataGridView1.ReadOnly = true; showStatusForm1(dataGridView1.RowCount.ToString() + " row(s) loaded from DB."); button2.Enabled = true; button3.Enabled = true; this.dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } catch (Exception ex) { showStatusForm1("Unlable to load data from DB. Error message:" + ex.Message); } //Old way /* * try * { * showStatusForm1("Trying load data from DB ..."); * var queryDB = from db in dbContext.Orders select db; * dataGridView1.DataSource = queryDB.ToList(); * showStatusForm1(queryDB.Count().ToString() + ": items successfully loaded."); * button2.Enabled = true; * button3.Enabled = true; * * } * catch (Exception ex) * { * * showStatusForm1("Unable to load data: " + ex.Message); * } */ }