/// <summary> /// DC notifies from new error. /// </summary> /// <param name="request"></param> /// <returns></returns> public GXErrorUpdateResponse Post(GXErrorUpdateRequest request) { List <GXEventsItem> events = new List <GXEventsItem>(); lock (Db) { GXAmiDeviceError err = new GXAmiDeviceError(); err.TaskID = request.TaskID; err.TargetDeviceID = request.DeviceID; err.TimeStamp = DateTime.Now; err.Message = request.Message; err.Source = request.Source; int len = request.StackTrace.Length; if (len > 255) { len = 255; } err.StackTrace = request.StackTrace.Substring(0, len); err.Severity = request.Severity; events.Add(new GXEventsItem(ActionTargets.DeviceError, Actions.Add, err)); using (var trans = Db.OpenTransaction(IsolationLevel.ReadCommitted)) { Db.Insert(err); trans.Commit(); } } AppHost host = this.ResolveService <AppHost>(); host.SetEvents(Db, this.Request, 0, events); return(new GXErrorUpdateResponse()); }
/// <summary> /// DC notifies from new error. /// </summary> /// <param name="request"></param> /// <returns></returns> public GXErrorUpdateResponse Post(GXErrorUpdateRequest request) { List<GXEventsItem> events = new List<GXEventsItem>(); lock (Db) { GXAmiDeviceError err = new GXAmiDeviceError(); err.TaskID = request.TaskID; err.TargetDeviceID = request.DeviceID; err.TimeStamp = DateTime.Now; err.Message = request.Message; err.Source = request.Source; int len = request.StackTrace.Length; if (len > 255) { len = 255; } err.StackTrace = request.StackTrace.Substring(0, len); err.Severity = request.Severity; events.Add(new GXEventsItem(ActionTargets.DeviceError, Actions.Add, err)); using (var trans = Db.OpenTransaction(IsolationLevel.ReadCommitted)) { Db.Insert(err); trans.Commit(); } } AppHost host = this.ResolveService<AppHost>(); host.SetEvents(Db, this.Request, 0, events); return new GXErrorUpdateResponse(); }