protected override bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ParentTable == "crm_organisation_logo") { bool success = true; value = Regex.Replace( Convert.ToString(value), @"(?<=""CompanyLogoID"":)\d+", match => { var mappedMessageId = Convert.ToString(columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, match.Value)); success = !string.IsNullOrEmpty(mappedMessageId) || Convert.ToInt32(match.Value) == 0; return mappedMessageId; }); return success; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }
protected override bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ChildTable == "core_acl" && relation.ChildColumn == "object") { var valParts = Convert.ToString(value).Split('|'); var entityId = columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, valParts[1]); if (entityId == null) return false; value = string.Format("{0}|{1}", valParts[0], entityId); return true; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }
protected override bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ChildTable == "files_bunch_objects" && relation.ChildColumn == "right_node" || relation.ChildTable == "files_tag" && relation.ChildColumn == "name") { var strValue = Convert.ToString(value); string start = GetStart(strValue); if (start == null) return false; var entityId = columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, strValue.Substring(start.Length)); if (entityId == null) return false; value = strValue.Substring(0, start.Length) + entityId; return true; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }
protected override bool TryPrepareValue(System.Data.IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ChildTable == "crm_relationship_event" && relation.ChildColumn == "content") { bool success = true; value = Regex.Replace( Convert.ToString(value), @"(?<=""message_id"":|/products/crm/httphandlers/filehandler\.ashx\?action=mailmessage&message_id=)\d+", match => { var mappedMessageId = Convert.ToString(columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, match.Value)); success = !string.IsNullOrEmpty(mappedMessageId); return mappedMessageId; }); return success; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }
protected virtual bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { var mappedValue = columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, value); if (mappedValue != null) { value = mappedValue; return true; } Guid guidVal; int intVal; return value == null || (Guid.TryParse(Convert.ToString(value), out guidVal) && guidVal == Guid.Empty) || (int.TryParse(Convert.ToString(value), out intVal) && intVal <= 0); }
protected override bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ParentTable == "crm_tag" && relation.ChildColumn == "id_tag" && (relation.ChildTable == "mail_tag_mail" || relation.ChildTable == "mail_tag_addresses")) { var crmTagId = columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, -Convert.ToInt32(value)); if (crmTagId == null) return false; value = -Convert.ToInt32(crmTagId); return true; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }
protected override bool TryPrepareValue(IDbConnection connection, ColumnMapper columnMapper, RelationInfo relation, ref object value) { if (relation.ChildTable == "projects_comments" && relation.ChildColumn == "target_uniq_id") { var valParts = value.ToString().Split('_'); var entityId = columnMapper.GetMapping(relation.ParentTable, relation.ParentColumn, valParts[1]); if (entityId == null) return false; value = string.Format("{0}_{1}", valParts[0], entityId); return true; } return base.TryPrepareValue(connection, columnMapper, relation, ref value); }