private void DisplayFormulas(CrmFormulaEntity crmEntity) { dataGridFormula.Rows.Clear(); foreach (var dr in crmEntity.FormulaDiffRecords) { var idx = dataGridFormula.Rows.Add(); var row = dataGridFormula.Rows[idx]; row.Tag = dr; row.Cells[0].Value = false; row.Cells[1].Value = dr.Name; row.Cells[2].Value = dr.LFormula?.Type?.Name; row.Cells[3].Value = dr.LFormula?.SourceEntityName; row.Cells[4].Value = dr.LFormula?.SourceEntityProperty; row.Cells[5].Value = dr.LFormula?.StatusCode.Name; row.Cells[6].Value = dr.RFormula?.StatusCode.Name; if (dr.IsDifferent) { row.DefaultCellStyle.BackColor = Color.Pink; } } }
public void ProcessResult(DataCollection <Entity> result, SourceTypes sourceType) { foreach (var en in result) { var id = en.Id; var entityName = en.GetAttributeValue <string>("north52_sourceentityname"); var formulaName = en.GetAttributeValue <string>("north52_name"); var formula = new CrmFormula() { Id = id, Name = formulaName, //Type = new Option() //{ // Value = en.GetAttributeValue<OptionSetValue>("north52_formulatype").Value, // Name = en.FormattedValues["north52_formulatype"] //}, Type = CrmHelper.GetOption(en, "north52_formulatype"), StatusCode = CrmHelper.GetOption(en, "statuscode"), StateCode = CrmHelper.GetOption(en, "statecode"), SourceEntityName = en.GetAttributeValue <string>("north52_sourceentityname"), SourceEntityProperty = en.GetAttributeValue <string>("north52_sourceentityproperty"), TargetEntityName = en.GetAttributeValue <string>("north52_targetentityname"), TargetEntityproperty = en.GetAttributeValue <string>("north52_targetentityproperty"), Description = en.GetAttributeValue <string>("north52_formuladescription"), }; var dr = FormulaDiffRecords.Where(x => x.Name == formulaName && x.EntityName == entityName).FirstOrDefault(); if (dr == null) { dr = new FormulaDiffRecord() { Name = formulaName, EntityName = entityName, }; FormulaDiffRecords.Add(dr); } if (sourceType == SourceTypes.Left) { dr.LFormula = formula; } else { dr.RFormula = formula; } CrmFormulaEntity crmEntity = FormulaEntities.Where(x => x.LogicalName == entityName).FirstOrDefault(); if (crmEntity == null) { crmEntity = new CrmFormulaEntity() { LogicalName = entityName }; FormulaEntities.Add(crmEntity); } var fdr = crmEntity.FormulaDiffRecords.Where(x => x.Name == formulaName).FirstOrDefault(); if (fdr == null) { fdr = dr; crmEntity.FormulaDiffRecords.Add(fdr); } } }