Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
             * }
             */
        }