//// Events //public event ElementProcessedEventHandler ElementProcessed { // [MethodImpl(MethodImplOptions.Synchronized)] // add { // this.ElementProcessedEvent = Delegate.Combine(this.ElementProcessedEvent, obj); // } // [MethodImpl(MethodImplOptions.Synchronized)] // remove { // this.ElementProcessedEvent = Delegate.Remove(this.ElementProcessedEvent, obj); // } //} //public event ExceptionOccuredEventHandler ExceptionOccured { // [MethodImpl(MethodImplOptions.Synchronized)] // add { // this.ExceptionOccuredEvent = Delegate.Combine(this.ExceptionOccuredEvent, obj); // } // [MethodImpl(MethodImplOptions.Synchronized)] // remove { // this.ExceptionOccuredEvent = Delegate.Remove(this.ExceptionOccuredEvent, obj); // } //} // Methods protected override void OnElement(CGMElement el) { try { if ((el.ElementClass == 1) && (el.ElementId == 12)) { MemoryStream r = new MemoryStream(el.Data, false); CGMScanner.ReadFile(r, this); } else { using (CGMBinaryReader reader = this.GetReader(el)) { [email protected] = reader; [email protected](el); this.elementlist.Add(ElementDictionary.GetInstance().FindElement(el.ElementClass, el.ElementId) + " " + el.ElementId.ToString() + " : " + el.ElementClass.ToString()); if (this.ElementProcessedEvent != null) { this.ElementProcessedEvent(el); } } } } catch (Exception exception1) { //ProjectData.SetProjectError(exception1); Exception ex = exception1; if (this.ExceptionOccuredEvent != null) { this.ExceptionOccuredEvent(el, ex); } //ProjectData.ClearProjectError(); } }
public void ElementWrite(CGMElement element) { bool flag = false; try { switch (element.ElementClass) { case 0: flag = EClass0.class0(element, this.mycontext, this.myxml); return; case 1: flag = EClass1.class1(element, this.mycontext, this.myxml); return; case 2: flag = EClass2.class2(element, this.mycontext, this.myxml); return; case 3: flag = EClass3.class3(element, this.mycontext, this.myxml); return; case 4: flag = EClass4.class4(element, this.mycontext, this.myxml); return; case 5: flag = EClass5.class5(element, this.mycontext, this.myxml); return; case 6: case 8: return; case 7: flag = EClass6.class7(element, this.mycontext, this.myxml); return; case 9: break; default: return; } flag = EClass6.class9(element, this.mycontext, this.myxml); } catch (Exception exception1) { //ProjectData.SetProjectError(exception1); Exception exception = exception1; if (exception.Message == "Invalid Use.")//if (StringType.StrCmp(exception.Message, "Invalid Use.", false) == 0) { throw new Exception("This conversion is being called from an invalid source, Please contract Docsoft Inc. if the probem continues."); } throw new Exception(element.ElementClass.ToString() + " " + element.ElementId.ToString() + " - " + ElementDictionary.GetInstance().FindElement(element.ElementClass, element.ElementId) + " - " + exception.ToString()); } }