protected virtual void OnInserted(CrmDataSourceViewInsertedEventArgs args) { var handler = (EventHandler <CrmDataSourceViewInsertedEventArgs>)Events[EventInserted]; if (handler != null) { handler(this, args); } }
protected override int ExecuteInsert(IDictionary values) { ADXTrace.Instance.TraceInfo(TraceCategory.Application, "Begin"); if (!CanInsert) { throw new NotSupportedException("Insert not supported."); } string entityName = values["EntityName"] as string; if (string.IsNullOrEmpty(entityName)) { throw new ArgumentException("Insert requires an EntityName to be specified as one of the values.", "values"); } var entity = new Entity(entityName); SetEntityAttributes(entity, values); var rowsAffected = 0; var insertedEventArgs = new CrmDataSourceViewInsertedEventArgs(); try { _crmDataContext.AddObject(entity); _crmDataContext.SaveChanges(); insertedEventArgs.EntityId = entity.Id; rowsAffected = 1; } catch (Exception e) { ADXTrace.Instance.TraceError(TraceCategory.Application, e.ToString()); insertedEventArgs.Exception = e; insertedEventArgs.ExceptionHandled = true; } ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("End: rowsAffected={0}", rowsAffected)); OnInserted(insertedEventArgs); return(rowsAffected); }