protected override void ProcessRecord() { GenerateVerboseMessage("Generating DataBuilder Instance."); DevOps.Data.DataBuilder db = new DevOps.Data.DataBuilder(); GenerateVerboseMessage("Appending Source CrmDataPackage."); db.AppendData(SourcePackage.Data, SourcePackage.Schema); GenerateVerboseMessage("Appending Additional CrmDataPackage."); db.AppendData(AdditionalPackage.Data, AdditionalPackage.Schema); try { GenerateVerboseMessage("Generating CrmDataPackage."); var Package = new CrmDataPackage() { ContentTypes = db.BuildContentTypesXML(), Data = db.BuildDataXML(), Schema = db.BuildSchemaXML() }; GenerateVerboseMessage("Writing CrmDataPackage to output."); base.WriteObject(Package); } catch (Exception ex) { throw new Exception(ex.Message); } }
public string DateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss"; //Default to Format used by DataMigrationUtility protected override void ProcessRecord() { GenerateVerboseMessage("Generating DataBuilder Instance."); DevOps.Data.DataBuilder db = new DevOps.Data.DataBuilder(this.Conn); if (this.Fetches.Length == 0) { throw new Exception("No fetches provided."); } GenerateVerboseMessage("Appending CrmDataPackage."); db.AppendData(Package.Data, Package.Schema); foreach (String fetch in this.Fetches) { GenerateVerboseMessage(String.Format("Appending fetch: {0}", fetch)); db.AppendData(fetch); } if (this.Identifiers.Keys.Count > 0) { GenerateVerboseMessage("Setting identifiers."); foreach (String key in this.Identifiers.Keys) { String[] identifier = Array.ConvertAll <object, string>((Object[])this.Identifiers[key], delegate(object obj) { return((string)obj); }); GenerateVerboseMessage(String.Format("Setting entity/identifier: {0}/{1}", key, String.Join(",", identifier))); db.SetIdentifier(key, identifier); } } if (this.DisablePlugins.Keys.Count > 0) { GenerateVerboseMessage("Disabling plugins."); foreach (String key in this.DisablePlugins.Keys) { GenerateVerboseMessage(String.Format("Setting entity/disable: {0}/{1}", key, DisablePlugins[key].ToString())); db.SetPluginsDisabled(key, (Boolean)DisablePlugins[key]); } } if (this.DisablePluginsGlobally) { GenerateVerboseMessage("Disabling plugins globally."); db.SetPluginsDisabled(true); } if (!string.IsNullOrEmpty(this.DateFormat)) { GenerateVerboseMessage("Setting DateFormat"); db.SetDateFormat(this.DateFormat); } try { GenerateVerboseMessage("Generating CrmDataPackage."); var package = new CrmDataPackage() { ContentTypes = db.BuildContentTypesXML(), Data = db.BuildDataXML(), Schema = db.BuildSchemaXML() }; GenerateVerboseMessage("Writing CrmDataPackage to output."); base.WriteObject(package); } catch (Exception ex) { throw new Exception(ex.Message); } }