public HYS.Common.Objects.Rule.IOutboundRule[] GetRules() { List <IOutboundRule> rules = new List <IOutboundRule>(); foreach (FileOutChannel ch0 in FileOutboundAdapterConfigMgt.FileOutAdapterConfig.OutboundChanels) { FileOutChannel ch = ch0.Clone(); ch.Rule.RuleID = ch0.Rule.RuleID; if (!IsExist(ch, GWDataDBField.i_IndexGuid.FieldName)) { InsertDataID(ch); } if (!IsExist(ch, GWDataDBField.i_DataDateTime.FieldName)) { InsertDataDT(ch); } InsertFieldsForFile(ch); rules.Add(ch.Rule); } return(rules.ToArray()); }
private void InsertFieldsForFile(FileOutChannel ch) { List <FileOutQueryResultItem> Cache = new List <FileOutQueryResultItem>(); foreach (FileOutQueryResultItem item in ch.Rule.QueryResult.MappingList) { if (!item.ThirdPartyDBPatamter.FileFieldFlag) { continue; } Cache.Add(item); } foreach (FileOutQueryResultItem item in Cache) { foreach (GWDataDBField f in item.ThirdPartyDBPatamter.FileFields) { string sTargetField = f.GetFullFieldName().Replace(".", "_");; //important!!! if (!IsExist(ch, sTargetField)) { FileOutQueryResultItem ritem = new FileOutQueryResultItem(); ritem.ThirdPartyDBPatamter.FieldName = ""; ritem.TargetField = sTargetField; ritem.GWDataDBField = f.Clone(); ritem.SourceField = f.GetFullFieldName(); ch.Rule.QueryResult.MappingList.Add(ritem); } } } }
private bool IsExist(FileOutChannel ch, string fieldname) { foreach (FileOutQueryResultItem item in ch.Rule.QueryResult.MappingList) { if (item.TargetField == fieldname) { return(true); } } return(false); }
private void InsertDataID(FileOutChannel chn) { FileOutQueryResultItem item = new FileOutQueryResultItem(); item.ThirdPartyDBPatamter.FieldName = ""; item.TargetField = "data_id"; item.GWDataDBField = GWDataDBField.i_IndexGuid; item.SourceField = item.GWDataDBField.FieldName; chn.Rule.QueryResult.MappingList.Add(item); }
private void InsertDataDT(FileOutChannel chn) { FileOutQueryResultItem item = new FileOutQueryResultItem(); item.ThirdPartyDBPatamter.FieldName = ""; item.TargetField = "data_dt"; item.GWDataDBField = GWDataDBField.i_DataDateTime; item.TargetField = item.GWDataDBField.FieldName; chn.Rule.QueryResult.MappingList.Add(item); }
public FChannel(FFileOutConfig frm, XCollection <FileOutChannel> channels) { InitializeComponent(); parentForm = frm; channelSet = channels; type = "Add"; channel = new FileOutChannel(); criteriaList = new XCollection <FileOutQueryCriterialItem>(); resultList = new XCollection <FileOutQueryResultItem>(); this.Text = "Add Channel"; GetChannelNameSet(channels); }
public FChannel(FFileOutConfig frm, XCollection <FileOutChannel> channels, int index) { InitializeComponent(); parentForm = frm; channelSet = channels; type = "Modify"; channel = channels[index]; channelIndex = index; criteriaList = channel.Rule.QueryCriteria.MappingList; resultList = channel.Rule.QueryResult.MappingList; this.Text = "Modify Channel"; GetChannelNameSet(channels); ShowChannel(); }
/// <summary> /// Copy Channel /// </summary> /// <param name="frm"></param> /// <param name="channels"></param> /// <param name="copyChannel"></param> public FChannel(FFileOutConfig frm, XCollection <FileOutChannel> channels, FileOutChannel copyChannel) { InitializeComponent(); parentForm = frm; channelSet = channels; type = "Add"; channel = copyChannel; criteriaList = channel.Rule.QueryCriteria.MappingList; resultList = channel.Rule.QueryResult.MappingList; this.Text = "Add Channel"; GetChannelNameSet(channels); ShowChannel(); }
private void WriteData(FileOutChannel ch, DataSet ds) { if (ds == null || ds.Tables.Count < 1) { return; } foreach (DataRow dr in ds.Tables[0].Rows) { string sFileName = FileOutboundAdapterConfigMgt.BuildOutFileName(ch, dr); IniFile2 iniF = new IniFile2(sFileName, FileOutboundAdapterConfigMgt.FileOutAdapterConfig.OutGeneralParams.CodePageName); foreach (FileOutQueryResultItem item in ch.Rule.QueryResult.MappingList) { if (item.ThirdPartyDBPatamter.FileFieldFlag) { string fname = WriteFieldData(item.ThirdPartyDBPatamter, ds, dr); iniF.WriteValue(item.ThirdPartyDBPatamter.SectionName, item.ThirdPartyDBPatamter.FieldName, fname); } else { if (item.ThirdPartyDBPatamter.FieldName.Trim() == "") { continue; } string sFieldName = item.TargetField; string val = ""; if (!Convert.IsDBNull(dr[sFieldName])) { val = Convert.ToString(dr[sFieldName]); } iniF.WriteValue(item.ThirdPartyDBPatamter.SectionName, item.ThirdPartyDBPatamter.FieldName, val); } } //---- debug... if (!Program.bRunSingle) { if (OnDataDischarge != null) { OnDataDischarge(new string[] { dr["Data_ID"].ToString() }); } } //----- debug end---- } }
private void btnChannelCopy_Click(object sender, EventArgs e) { int count = channelSet.Count; FileOutChannel copyChannel = channelSet[channelIndex].Clone(); copyChannel.ChannelName += "_copy"; FChannel frm = new FChannel(this, channelSet, copyChannel); frm.ShowDialog(pMain); if (channelSet.Count > count) { // Add successfully channelIndex = count; lstvChannel.Items[channelIndex].Selected = true; } }