void Save(int DocId, int MapIndex) { var da = new DataAccess(); var zones = this.imageBoxRecognize1.OrionRecognize.GetZones(); foreach (var zone in zones) { var newOMZ = da.Get_OCR_MappingZone(zone.ID); if (newOMZ == null) { newOMZ = new OCR_MappingZone(); newOMZ.ZON_Id = zone.ID; } newOMZ.ZON_Name = zone.Name; newOMZ.ZON_Left = zone.X; newOMZ.ZON_Top = zone.Y; newOMZ.ZON_Width = zone.Width; newOMZ.ZON_Rigth = zone.Height; da.OCR_MappingZone_Update(newOMZ, MapIndex, this.imageBoxRecognize1.Image.Width, this.imageBoxRecognize1.Image.Height, DocId); zone.ID = newOMZ.ZON_Id; zone.Name = newOMZ.ZON_Name; zone.Update(); } }
public OCR_MappingZone OCR_MappingZone_Update(OCR_MappingZone oCR_MappingZone, int mapIndex, int mapWidth, int mapHeigth, int DocId) { try { using (var db = new OCRDocEntities()) { var oldzone = db.OCR_MappingZone.FirstOrDefault(x => x.ZON_Id == oCR_MappingZone.ZON_Id); if (oldzone == null) { var mapR = from mp in db.OCR_Mapping join mt in db.OCR_MappingXTypeDocument on mp.MAP_Id equals mt.MXT_MAP_Id where mp.MAP_Index == mapIndex && mt.MXT_TDC_Id == DocId select mp; var map = mapR.FirstOrDefault(); if (map == null) { map = new OCR_Mapping(); map.MAP_Index = mapIndex; db.OCR_Mapping.Add(map); db.SaveChanges(); db.OCR_MappingXTypeDocument.Add(new OCR_MappingXTypeDocument() { MXT_MAP_Id = map.MAP_Id, MXT_TDC_Id = DocId }); db.SaveChanges(); } db.Entry(map).Property("MAP_Width").CurrentValue = mapWidth; db.Entry(map).Property("MAP_Height").CurrentValue = mapHeigth; oCR_MappingZone.ZON_MAP_Id = map.MAP_Id; db.OCR_MappingZone.Add(oCR_MappingZone); db.SaveChanges(); } else { var old_oCR_MappingZone = from mz in db.OCR_MappingZone where mz.ZON_Id == oCR_MappingZone.ZON_Id select mz; db.Entry(old_oCR_MappingZone.FirstOrDefault()).CurrentValues.SetValues(oCR_MappingZone); db.SaveChanges(); } } return(oCR_MappingZone); } catch (Exception e) { throw e; } }