123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SQLite;
- using System.Drawing;
- using System.Linq;
- using OTSCLRINTERFACE;
- using OTSModelSharp.DTLBase;
- namespace OTSModelSharp
- {
- public class CIncADataDB : CSQLiteDB
- {
- public CIncADataDB(IDBStoreBase _conStr, IDBTableBase _table) : base(_conStr, _table)
- {
- }
-
- public KeyValuePair<string,SQLiteParameter[]> GetUpdataAIncACmd(COTSParticleClr a_pParticle)
- {
- string sSQLCommand = "Update IncAData set TypeId=@TypeId,TypeName= @TypeName,TypeColor=@TypeColor,GroupId=@GroupId,GroupName=@GroupName,GroupColor=@GroupColor where FieldID =@FieldId and ParticleId =@ParticleId "; //sSQLCommand.Format(sSQLCommand,a_pParticle->GetAveGray(),a_pParticle->GetArea(),a_pParticle->GetType(),a_pParticle->GetFieldId(),a_pParticle->GetTagId());
- var paras = new SQLiteParameter[8];
- paras[0] = new SQLiteParameter("TypeId");
- paras[0].Value = a_pParticle.GetClassifyId();
- paras[1] = new SQLiteParameter("TypeName");
- paras[1].Value = a_pParticle.GetTypeName();
- paras[2] = new SQLiteParameter("TypeColor");
- paras[2].Value = a_pParticle.GetTypeColor();
- paras[3] = new SQLiteParameter("GroupId");
- paras[3].Value = a_pParticle.GetGrpId();
- paras[4] = new SQLiteParameter("GroupName");
- paras[4].Value = a_pParticle.GetGrpName();
- paras[5] = new SQLiteParameter("GroupColor");
- paras[5].Value = a_pParticle.GetGrpColor();
- paras[6] = new SQLiteParameter("FieldId");
- paras[6].Value = a_pParticle.GetFieldId();
- paras[7] = new SQLiteParameter("ParticleId");
- paras[7].Value = a_pParticle.GetTagId();
-
- return new KeyValuePair<string, SQLiteParameter[]>(sSQLCommand,paras);
- }
- public KeyValuePair<string,SQLiteParameter[]> GegInsertingAnIncACmd(COTSParticleClr a_pParticle, System.Drawing.Point fldPos)
- {
- var tableInfoPtr = GetTableInfo();
-
- var sInsertCmd = tableInfoPtr.GetInsertCommand(true);
-
- Rectangle rec = (Rectangle)a_pParticle.GetParticleRect();
- System.Drawing.Point xrayPos = (System.Drawing.Point)a_pParticle.GetXRayPos();
- System.Drawing.Point semPos = (System.Drawing.Point)a_pParticle.GetAbsolutPos();
-
-
- var paras = sInsertCmd.Value;
- paras[0].Value = a_pParticle.GetFieldId();
- paras[1].Value = a_pParticle.GetAnalysisId();
- paras[2].Value = a_pParticle.GetAveGray();
- paras[3].Value = rec.Left;
- paras[4].Value = rec.Top;
- paras[5].Value = rec.Width;
- paras[6].Value = rec.Height;
- paras[7].Value = a_pParticle.GetActualArea();
- paras[8].Value = xrayPos.X;
- paras[9].Value = xrayPos.Y;
- paras[10].Value = a_pParticle.GetFeretDiameter();
- paras[11].Value = (int)(a_pParticle.GetFeature().GetSegmentsList().Count);
- paras[12].Value = fldPos.X;
- paras[13].Value = fldPos.Y;
- paras[14].Value = a_pParticle.GetTagId();
- paras[15].Value = a_pParticle.GetDMAX();
- paras[16].Value = a_pParticle.GetDMIN();
- paras[17].Value = a_pParticle.GetDMPERP();
- paras[18].Value = a_pParticle.GetDPRIMETER();
- paras[19].Value = a_pParticle.GetORIENTATION();
- paras[20].Value = a_pParticle.GetDINSCR();
- paras[21].Value = a_pParticle.GetDMEAN();
- paras[22].Value = a_pParticle.GetDELONG();
- paras[23].Value = a_pParticle.GetClassifyId();
- paras[24].Value = a_pParticle.GetTypeName();
- paras[25].Value = a_pParticle.GetTypeColor();
- paras[26].Value = semPos.X;
- paras[27].Value = semPos.Y;
- paras[28].Value = a_pParticle.GetGrpId();
- paras[29].Value = a_pParticle.GetGrpName();
- paras[30].Value = a_pParticle.GetGrpColor();
- return new KeyValuePair<string, SQLiteParameter[]>(sInsertCmd.Key,paras);
- }
- public bool GetAllFieldsRecord(ref List<COTSFieldData> allFlds)
- {
- var allRecords = this.GetQueryOfAllRecord();
- Dictionary<int, COTSFieldData> mapFld = new Dictionary<int, COTSFieldData>(); //std.map<int, COTSFieldDataPtr> mapFld = new std.map<int, COTSFieldDataPtr>();
- for (int i = 0; i < allRecords.Rows.Count; i++)
- {
- int curFldId = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_FIELD_ID]); //GetColIntValue((int)CIncADataTable.ColumnID.N_FIELD_ID);
- if (!mapFld.Keys.Contains(curFldId))
- {
- COTSFieldData fld = new COTSFieldData();
- fld.SetId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_FIELD_ID]));
- System.Drawing.Point fldPos =new System.Drawing.Point();
- fldPos.X = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_FldPosX]);
- fldPos.Y = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_FldPosY]);
- fld.SetOTSPosition(fldPos);
- List<COTSParticleClr> ps = fld.GetListAnalysisParticles();
- COTSParticleClr p = new COTSParticleClr();
- p.SetFieldId(fld.GetId());
- p.SetTagId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_PARTICLE_ID]));
-
- int top = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_TOP]);
- int left = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_LEFT]);
- int width = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_WIDTH]);
- int height = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_HEIGHT]);
- Rectangle r = new Rectangle(left, top, left + width, top + height);
- p.SetParticleRect(r);
- p.SetSubParticles("");
- byte aveGray = Convert.ToByte(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_AVE_GRAY]);
- p.SetAveGray(aveGray);
- p.SetArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
- p.SetAnalysisId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_XRAY_ID]));
- p.SetDMAX(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMAX]));
- p.SetDMIN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMIN]));
- p.SetDMPERP(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DPERP]));
- p.SetDINSCR(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DINSCR]));
- p.SetDMEAN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMEAN]));
- p.SetDELONG(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DELONG]));
- p.SetDPRIMETER(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_PERIMETER]));
- p.SetORIENTATION(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_ORIENTATION]));
- p.SetFeretDiameter(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DFERET]));
- p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
- p.SetTypeName(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_NAME].ToString());
- p.SetTypeColor(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_COLOR].ToString());
- ps.Add(p);
- allFlds.Add(fld);
- mapFld[curFldId] = fld;
- }
- else
- {
- COTSFieldData fld = mapFld[curFldId];
- List<COTSParticleClr> ps = fld.GetListAnalysisParticles();
- COTSParticleClr p = new COTSParticleClr();
- p.SetFieldId(fld.GetId());
- p.SetTagId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_PARTICLE_ID]));
-
- int top = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_TOP]);
- int left = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_LEFT]);
- int width = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_WIDTH]);
- int height = Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_RECT_HEIGHT]);
- Rectangle r = new Rectangle(left, top, left + width, top + height);
- p.SetParticleRect(r);
- //p.SetSubParticles("");
- p.SetAveGray(Convert.ToByte(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_AVE_GRAY]));
- p.SetArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
- p.SetAnalysisId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_XRAY_ID]));
- p.SetDMAX(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMAX]));
- p.SetDMIN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMIN]));
- p.SetDMPERP(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DPERP]));
- p.SetDINSCR(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DINSCR]));
- p.SetDMEAN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMEAN]));
- p.SetDELONG(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DELONG]));
- p.SetDPRIMETER(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_PERIMETER]));
- p.SetORIENTATION(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_ORIENTATION]));
- p.SetFeretDiameter(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DFERET]));
- p.SetType(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_TYPE_ID]));
- p.SetTypeName(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_NAME].ToString());
- p.SetTypeColor(allRecords.Rows[i][(int)CIncADataTable.ColumnID.S_COLOR].ToString());
- ps.Add(p);
- }
- }
- return true;
- }
- protected DataTable GetQueryOfAllRecord()
- {
-
- var datastorePtr = GetDatastore();
-
- var tableInfoPtr = GetTableInfo();
-
- string sSQLCommand= string.Format("SELECT * FROM \'{0}\';", (string)tableInfoPtr.GetTableName());
- DataTable t1 = datastorePtr.QueryByCmdForDataTable(sSQLCommand);
- return t1;
- }
-
-
-
- }
- }
|