/* * private DataTable ConvertForExport(DataTable dt) * { * ArrayList columnToExport = _db.GetColumnToExport(); * if (columnToExport != null) * { * DataTable dtToexport = dt.Copy(); * DataColumnCollection dcc = dt.Columns; * for (int loop = 0; loop < dcc.Count; loop++) * { * if (!columnToExport.Contains(dcc[loop].ColumnName)) * dtToexport.Columns.Remove(dcc[loop].ColumnName); * } * return dtToexport; * } * else * return dt; * } */ /* * private void tabControlInventory_DrawItem(object sender, DrawItemEventArgs e) * { * TabPage CurrentTab = tabControlInventory.TabPages[e.Index]; * Rectangle ItemRect = tabControlInventory.GetTabRect(e.Index); * StringFormat sf = new StringFormat(); * sf.Alignment = StringAlignment.Center; * sf.LineAlignment = StringAlignment.Center; * * SolidBrush FillBrush; * SolidBrush TextBrush; * * FillBrush = new SolidBrush(Color.White); * TextBrush = new SolidBrush(Color.Black); * * * * switch (e.Index) * { * case 0: * FillBrush = new SolidBrush(Color.White); * TextBrush = new SolidBrush(Color.Black); * * //If we are currently painting the Selected TabItem we'll * //change the brush colors and inflate the rectangle. * if (System.Convert.ToBoolean(e.State & DrawItemState.Selected)) * { * FillBrush.Color = Color.Black; * TextBrush.Color = Color.White; * ItemRect.Inflate(2, 2); * } * break; * case 1: * FillBrush = new SolidBrush(Color.White); * TextBrush = new SolidBrush(Color.Blue); * * //If we are currently painting the Selected TabItem we'll * //change the brush colors and inflate the rectangle. * if (System.Convert.ToBoolean(e.State & DrawItemState.Selected)) * { * FillBrush.Color = Color.Blue; * TextBrush.Color = Color.White; * ItemRect.Inflate(2, 2); * } * * break; * * case 2: * FillBrush = new SolidBrush(Color.White); * TextBrush = new SolidBrush(Color.Green); * * //If we are currently painting the Selected TabItem we'll * //change the brush colors and inflate the rectangle. * if (System.Convert.ToBoolean(e.State & DrawItemState.Selected)) * { * FillBrush.Color = Color.Green; * TextBrush.Color = Color.White; * ItemRect.Inflate(2, 2); * } * * break; * case 3: * FillBrush = new SolidBrush(Color.White); * TextBrush = new SolidBrush(Color.Red); * * //If we are currently painting the Selected TabItem we'll * //change the brush colors and inflate the rectangle. * if (System.Convert.ToBoolean(e.State & DrawItemState.Selected)) * { * FillBrush.Color = Color.Red; * TextBrush.Color = Color.White; * ItemRect.Inflate(2, 2); * } * * break; * } * * * * //Set up rotation for left and right aligned tabs * if (tabControlInventory.Alignment == TabAlignment.Left || tabControlInventory.Alignment == TabAlignment.Right) * { * float RotateAngle = 90; * if (tabControlInventory.Alignment == TabAlignment.Left) * RotateAngle = 270; * PointF cp = new PointF(ItemRect.Left + (ItemRect.Width / 2), ItemRect.Top + (ItemRect.Height / 2)); * e.Graphics.TranslateTransform(cp.X, cp.Y); * e.Graphics.RotateTransform(RotateAngle); * ItemRect = new Rectangle(-(ItemRect.Height / 2), -(ItemRect.Width / 2), ItemRect.Height, ItemRect.Width); * } * * //Next we'll paint the TabItem with our Fill Brush * e.Graphics.FillRectangle(FillBrush, ItemRect); * * //Now draw the text. * * Font fo = new Font(e.Font.Name, 12, FontStyle.Bold, e.Font.Unit, e.Font.GdiCharSet, e.Font.GdiVerticalFont); * * e.Graphics.DrawString(CurrentTab.Text, fo, TextBrush, (RectangleF)ItemRect, sf); * * //Reset any Graphics rotation * e.Graphics.ResetTransform(); * * //Finally, we should Dispose of our brushes. * FillBrush.Dispose(); * TextBrush.Dispose(); * } */ private void AddTagToDt(object obj) { DtAndTagClass clToProcess = (DtAndTagClass)obj; string selectString = "[" + ResStrings.BoxModeConfig_UpdateGroup_TagUID + "] = '" + clToProcess.TagUid + "'"; DataRow[] productInfo = _dtProductRef.Select(selectString); if (productInfo.Length > 0) { object[] param = new object[_columnInfo.Count]; for (int i = 0; i < _columnInfo.Count; i++) { param[i] = productInfo[0].ItemArray[i]; } clToProcess.Dt.Rows.Add(param); } else { object[] param = new object[_columnInfo.Count]; param[0] = clToProcess.TagUid; param[1] = ResStrings.str_Unreferenced; for (int i = 2; i < _columnInfo.Count; i++) { param[i] = " "; } clToProcess.Dt.Rows.Add(param); } }
private void AddTagToDt(object obj) { try { DtAndTagClass clToProcess = (DtAndTagClass)obj; //string selectString = "[" + ColumnInfo[0].ToString() + "]= " + clToProcess.tagUID; string selectString = "[" + ResStrings.str_TagUID + "]= '" + clToProcess.TagUid + "'"; DataRow[] productInfo = DtProductRef.Select(selectString); if (productInfo.Length > 0) { object[] param = new object[_columnInfo.Count]; for (int i = 0; i < _columnInfo.Count; i++) { param[i] = productInfo[0].ItemArray[i]; } clToProcess.Dt.Rows.Add(param); } else { object[] param = new object[_columnInfo.Count]; param[0] = clToProcess.TagUid; param[1] = ResStrings.str_Unreferenced; for (int i = 2; i < _columnInfo.Count; i++) { param[i] = " "; } clToProcess.Dt.Rows.Add(param); } } catch (Exception exp) { ExceptionMessageBox.Show(exp); } }
private void ProcessData() { try { DeviceInfo di = null; _inventoryFrom = null; _inventoryTo = null; if (toolStripComboBoxReader.SelectedIndex > -1) { di = _deviceArray[toolStripComboBoxReader.SelectedIndex]; } DateTime dFrom = new DateTime(dateFrom.Value.Year, dateFrom.Value.Month, dateFrom.Value.Day, timeFrom.Value.Hour, timeFrom.Value.Minute, 0); DateTime dTo = new DateTime(dateTo.Value.Year, dateTo.Value.Month, dateTo.Value.Day, timeTo.Value.Hour, timeTo.Value.Minute, 0); if (dTo < dFrom) { MessageBox.Show(ResStrings.CompareInventoryReportForm_ProcessData_Error_in_date_selection_, ResStrings.CompareInventoryReportForm_ProcessData_Compare_Inventory_Info, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //string[] invFrom = db.GetInventory(di.SerialRFID, dFrom.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ssZ")); string[] invFrom = _db.GetInventoryBefore(di.SerialRFID, dFrom.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ssZ")); if (invFrom != null) { StoredInventoryData sid = new StoredInventoryData(); BinaryFormatter bf = new BinaryFormatter(); MemoryStream mem = new MemoryStream(Convert.FromBase64String(invFrom[0])); sid = (StoredInventoryData)bf.Deserialize(mem); _inventoryFrom = ConvertInventory.ConvertForUse(sid, _columnInfo); } //string[] invTo = db.GetInventory(di.SerialRFID, dTo.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ssZ")); string[] invTo = _db.GetInventoryAfter(di.SerialRFID, dTo.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ssZ")); if (invTo != null) { StoredInventoryData sid = new StoredInventoryData(); BinaryFormatter bf = new BinaryFormatter(); MemoryStream mem = new MemoryStream(Convert.FromBase64String(invTo[0])); sid = (StoredInventoryData)bf.Deserialize(mem); _inventoryTo = ConvertInventory.ConvertForUse(sid, _columnInfo); } if (_inventoryTo == null) { MessageBox.Show(ResStrings.CompareInventoryReportForm_ProcessData_No_inventory_found_after_Date_to_, ResStrings.CompareInventoryReportForm_ProcessData_Compare_Inventory_Info, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (_inventoryFrom == null) { MessageBox.Show(ResStrings.CompareInventoryReportForm_ProcessData_No_inventory_found_after_Date_from_, ResStrings.CompareInventoryReportForm_ProcessData_Compare_Inventory_Info, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } _comparedInventory = new InventoryData(_columnInfo); ArrayList listPrevious = _inventoryFrom.listTagAll; ArrayList listCurrent = _inventoryTo.listTagAll; foreach (string uid in listCurrent) { if (!_comparedInventory.listTagAll.Contains(uid)) { _comparedInventory.listTagAll.Add(uid); DtAndTagClass dtAndTagAll = new DtAndTagClass(this, _comparedInventory.dtTagAll, uid, _db); AddTagToDt((object)dtAndTagAll); } if (listPrevious.Contains(uid)) { _comparedInventory.listTagPresent.Add(uid); DtAndTagClass dtAndTagPresent = new DtAndTagClass(this, _comparedInventory.dtTagPresent, uid, _db); AddTagToDt((object)dtAndTagPresent); } else { _comparedInventory.listTagAdded.Add(uid); DtAndTagClass dtAndTagAdded = new DtAndTagClass(this, _comparedInventory.dtTagAdded, uid, _db); AddTagToDt((object)dtAndTagAdded); } } foreach (string uid in listPrevious) { if (!listCurrent.Contains(uid)) { _comparedInventory.listTagRemoved.Add(uid); DtAndTagClass dtAndTagRemove = new DtAndTagClass(this, _comparedInventory.dtTagRemove, uid, _db); AddTagToDt((object)dtAndTagRemove); } } /* foreach (string tagUID in inventoryTo.listTagAll) * { * if (!comparedInventory.listTagAll.Contains(tagUID)) * { * comparedInventory.listTagAll.Add(tagUID); * DtAndTagClass DtAndTagAll = new DtAndTagClass(this, comparedInventory.dtTagAll, tagUID, db); * AddTagToDt((object)DtAndTagAll); * } * * if (!inventoryFrom.listTagAll.Contains(tagUID)) * { * // Tag Added * if (!comparedInventory.listTagAdded.Contains(tagUID)) * { * comparedInventory.listTagAdded.Add(tagUID); * DtAndTagClass DtAndTagAdded = new DtAndTagClass(this, comparedInventory.dtTagAdded, tagUID, db); * AddTagToDt((object)DtAndTagAdded); * } * } * else * { * //tag Present * if (!comparedInventory.listTagPresent.Contains(tagUID)) * { * comparedInventory.listTagPresent.Add(tagUID); * DtAndTagClass DtAndTagPresent = new DtAndTagClass(this, comparedInventory.dtTagPresent, tagUID, db); * AddTagToDt((object)DtAndTagPresent); * } * * } * } * * foreach (string uid in inventoryFrom.listTagAll) * { * if (!comparedInventory.listTagAll.Contains(uid)) * { * if (!comparedInventory.listTagRemoved.Contains(uid)) * { * comparedInventory.listTagRemoved.Add(uid); * DtAndTagClass DtAndTagRemove = new DtAndTagClass(this, comparedInventory.dtTagRemove, uid, db); * AddTagToDt((object)DtAndTagRemove); * } * } * }*/ _comparedInventory.nbTagAll = _comparedInventory.listTagAll.Count; _comparedInventory.nbTagPresent = _comparedInventory.listTagPresent.Count; _comparedInventory.nbTagAdded = _comparedInventory.listTagAdded.Count; _comparedInventory.nbTagRemoved = _comparedInventory.listTagRemoved.Count; UpdateTabControl(); } catch (Exception exp) { // On affiche l'erreur. ErrorMessage.ExceptionMessageBox.Show(exp); } }
private void UpdateTabControlCompare(int selectedCurrent, int selectedPrevious) { InventoryData invData = new InventoryData(_columnInfo); ArrayList listPrevious = _inventoryArray[selectedPrevious].listTagAll; ArrayList listCurrent = _inventoryArray[selectedCurrent].listTagAll; foreach (string uid in listCurrent) { if (!invData.listTagAll.Contains(uid)) { invData.listTagAll.Add(uid); DtAndTagClass dtAndTagAll = new DtAndTagClass(this, invData.dtTagAll, uid, _db); AddTagToDt(dtAndTagAll); } if (listPrevious.Contains(uid)) { invData.listTagPresent.Add(uid); DtAndTagClass dtAndTagPresent = new DtAndTagClass(this, invData.dtTagPresent, uid, _db); AddTagToDt(dtAndTagPresent); } else { invData.listTagAdded.Add(uid); DtAndTagClass dtAndTagAdded = new DtAndTagClass(this, invData.dtTagAdded, uid, _db); AddTagToDt(dtAndTagAdded); } } foreach (string uid in listPrevious) { if (!listCurrent.Contains(uid)) { invData.listTagRemoved.Add(uid); DtAndTagClass dtAndTagRemove = new DtAndTagClass(this, invData.dtTagRemove, uid, _db); AddTagToDt(dtAndTagRemove); } } dataGridViewAll.DataSource = null; dataGridViewAll.DataSource = invData.dtTagAll.DefaultView; dataGridViewPresent.DataSource = null; dataGridViewPresent.DataSource = invData.dtTagPresent.DefaultView; dataGridViewAdded.DataSource = null; dataGridViewAdded.DataSource = invData.dtTagAdded.DefaultView; dataGridViewRemoved.DataSource = null; dataGridViewRemoved.DataSource = invData.dtTagRemove.DefaultView; int nbTagGridAll = dataGridViewAll.Rows.Count; int nbTagGridPresent = dataGridViewPresent.Rows.Count; int nbTagGridAdded = dataGridViewAdded.Rows.Count; int nbTagGridRemove = dataGridViewRemoved.Rows.Count; if (nbTagGridAll < 0) { nbTagGridAll = 0; } if (nbTagGridPresent < 0) { nbTagGridPresent = 0; } if (nbTagGridAdded < 0) { nbTagGridAdded = 0; } if (nbTagGridRemove < 0) { nbTagGridRemove = 0; } tabControlInventory.TabPages[0].Text = string.Format(ResStrings.ReaderHistoryForm_UpdateTabControlCompare_All, nbTagGridAll); tabControlInventory.TabPages[1].Text = string.Format(ResStrings.ReaderHistoryForm_UpdateTabControlCompare_Previous, nbTagGridPresent); tabControlInventory.TabPages[2].Text = string.Format(ResStrings.ReaderHistoryForm_UpdateTabControlCompare_Added, nbTagGridAdded); tabControlInventory.TabPages[3].Text = string.Format(ResStrings.ReaderHistoryForm_UpdateTabControlCompare_Removed, nbTagGridRemove); DataGridViewColumn dvgc1 = dataGridViewAll.Columns["ImageAll"]; if (dvgc1 != null) { dvgc1.DisplayIndex = dataGridViewAll.Columns.Count - 1; } DataGridViewColumn dvgc2 = dataGridViewPresent.Columns["ImagePresent"]; if (dvgc2 != null) { dvgc2.DisplayIndex = dataGridViewPresent.Columns.Count - 1; } DataGridViewColumn dvgc3 = dataGridViewRemoved.Columns["ImageRemove"]; if (dvgc3 != null) { dvgc3.DisplayIndex = dataGridViewRemoved.Columns.Count - 1; } dataGridViewAdded.Columns["ImageAdd"].DisplayIndex = dataGridViewAdded.Columns.Count - 1; }