public virtual Entity GetFetchedReferenceEntity() { var sysModuleVisaSchema = UserConnection.EntitySchemaManager.FindInstanceByName("SysModuleVisa"); Entity sysModuleVisaEntity = sysModuleVisaSchema.CreateEntity(UserConnection); var columnName = "MasterColumnUId"; EntitySchemaColumn referenceColumn; EntitySchemaColumnCollection columns = Entity.Schema.Columns; if (sysModuleVisaEntity.FetchFromDB("VisaSchemaUId", Entity.Schema.UId, new[] { columnName })) { var masterColumnUId = sysModuleVisaEntity.GetTypedColumnValue <Guid>(columnName); referenceColumn = columns.FirstOrDefault(c => c.UId == masterColumnUId); } else { var entityName = Entity.SchemaName.Replace("Visa", ""); referenceColumn = columns.FirstOrDefault(c => c.ReferenceSchema != null && c.ReferenceSchema.Name == entityName); } if (referenceColumn != null) { var entitySchema = UserConnection.EntitySchemaManager.FindInstanceByName(referenceColumn.ReferenceSchema.Name); Entity entity = entitySchema.CreateEntity(UserConnection); entity.FetchPrimaryInfoFromDB("Id", Entity.GetTypedColumnValue <Guid>(referenceColumn.ColumnValueName)); return(entity); } return(null); }
public LocalMessageHelper(Entity entity, UserConnection userConnection, EntityChangeType changeType) { _entity = entity; _entity.UseLazyLoad = true; _userConnection = userConnection; _entitySchemaColumns = _entity.Schema.Columns; _changeType = changeType; SetCurrentUser(); }
private Dictionary <string, string> GetQueryColumns(EntitySchemaColumnCollection columns) { var queryColumns = new Dictionary <string, string>(); foreach (EntitySchemaColumn column in columns) { queryColumns[column.Name] = column.Name; } return(queryColumns); }
public virtual string GetVisaLink() { var schemaColumns = Entity.Schema.Columns; var referenceSchemaName = string.Empty; var referenceSchemaUId = Guid.Empty; EntitySchemaColumnCollection referenceSchemaColumns = null; foreach (var column in schemaColumns) { if (!column.IsInherited && column.DataValueType.IsLookup) { referenceSchemaName = column.ReferenceSchema.Name; referenceSchemaUId = column.ReferenceSchema.UId; referenceSchemaColumns = column.ReferenceSchema.Columns; } } var mainEntityId = Entity.GetTypedColumnValue <Guid>(referenceSchemaName + "Id"); var typeColumnUId = GetSchemaTypeColumnUId(referenceSchemaUId); var cardSchemaName = string.Concat(referenceSchemaName, "Page"); var cardSchemaUId = Guid.Empty; if (!typeColumnUId.Equals(Guid.Empty)) { var typeColumnName = referenceSchemaColumns.GetByUId(typeColumnUId).Name + ".Id"; var typeColumnValue = GetSchemaTypeColumnValue(referenceSchemaName, typeColumnName, mainEntityId); cardSchemaUId = GetCardSchemaUId(typeColumnValue, SysModuleEntityId); cardSchemaName = GetCardSchemaName(cardSchemaUId); } else { cardSchemaUId = GetCardSchemaUId(Guid.Empty, SysModuleEntityId); cardSchemaName = GetCardSchemaName(cardSchemaUId); } var sectionNameUId = GetSectionName(SysModuleEntityId); var sectionName = GetCardSchemaName(sectionNameUId); var template = string.Empty; var formatStr = string.Empty; string baseUrl = Terrasoft.Web.Common.WebUtilities .GetBaseApplicationUrl(Terrasoft.Web.Http.Abstractions.HttpContext.Current.Request); if (sectionName.Contains("V2")) { template = "{3}/Nui/ViewModule.aspx#SectionModuleV2/{2}/{0}/edit/{1}"; formatStr = string.Format(template, cardSchemaName, mainEntityId, sectionName, baseUrl); } else { template = "{2}/Nui/ViewModule.aspx#CardModule/{0}/view/{1}"; formatStr = string.Format(template, cardSchemaName, mainEntityId, baseUrl); }; return(formatStr); }
/// <summary> /// Gets entity key. /// </summary> /// <param name="entity">Entity.</param> /// <returns>Entity key.</returns> private string GetEntityKey(Entity entity, IEnumerable <string> columnsNames) { StringBuilder sb = new StringBuilder(); EntitySchemaColumnCollection schemaColumns = entity.Schema.Columns; foreach (string columnName in columnsNames) { EntitySchemaColumn schemaColumn = schemaColumns.GetByName(columnName); object columnValue = entity.GetColumnValue(schemaColumn); sb.Append(columnValue); } return(sb.ToString()); }
/// <summary> /// Fills column value of the entity. /// </summary> /// <param name="entity">Entity.</param> /// <param name="columnName">Column name.</param> /// <param name="value">Column value.</param> public static void SpecifyActivityLookupColumnValue(Entity entity, string columnName, Guid value) { if (value.IsEmpty()) { return; } EntitySchema activitySchema = entity.Schema; EntitySchemaColumnCollection columns = activitySchema.Columns; EntitySchemaColumn entitySchemaColumn = columns.FindByName(columnName); if (entitySchemaColumn != null) { entity.SetColumnValue(entitySchemaColumn, value); } }
/// <inheritdoc /> public override string GetExecutionData() { CoreEntitySchema entitySchema = UserConnection.EntitySchemaManager.GetInstanceByUId(ObjectSchemaId); var defaultColumnValues = new Dictionary <string, object>(); foreach (var columnValue in RecordColumnValues.Values) { var column = entitySchema.GetSchemaColumnByMetaPath(columnValue.Key); if ((column.DataValueType is LookupDataValueType || column.DataValueType is MultiLookupDataValueType) && ((Guid)columnValue.Value).IsEmpty()) { continue; } defaultColumnValues[column.Name] = SerializeEntityColumn(column, columnValue.Value); } var editMode = (RecordEditMode)Enum.ToObject(typeof(RecordEditMode), EditMode); if (editMode == RecordEditMode.New) { EntitySchemaColumnCollection columns = entitySchema.Columns; defaultColumnValues["ProcessListeners"] = SerializeEntityColumn(columns.GetByName("ProcessListeners"), (int)EntityChangeType.Inserted); } string actionName = GetActionName(); string informationOnStep = LocalizableString.IsNullOrEmpty(InformationOnStep) ? GetParameterValue("InformationOnStep")?.ToString() ?? string.Empty : InformationOnStep.Value; return(SerializeToString(new { processId = ProcessUserTaskUtilities.GetParentProcessId(Owner), procElUId = UId, name = Name, isProcessExecutedBySignal = ProcessUserTaskUtilities.GetIsProcessExecutedBySignal(Owner), processName = Owner.Name, action = actionName, entitySchemaName = entitySchema.Name, recordId = RecordId, activityRecordId = CurrentActivityId, recommendation = GetActivityTitle(), informationOnStep, defaultValues = defaultColumnValues.Count > 0 ? defaultColumnValues : null, executionContext = ExecutionContext, completeExecution = actionName == "add", pageTypeId = PageTypeUId == Guid.Empty ? string.Empty : PageTypeUId.ToString(), nextProcElUId = "nextProcElUIdValue" })); }
/// <summary> /// Returns collection of column names. /// </summary> /// <param name="entitySchema">Entity which has columns.</param> /// <param name="columnsUId">Collection of column UIds.</param> /// <returns>Collection of column names.</returns> private List <string> GetColumnsNameByUIds(EntitySchema entitySchema, List <Guid> columnsUId) { var columnsName = new List <string>(); EntitySchemaColumnCollection columns = entitySchema.Columns; foreach (Guid columnUId in columnsUId) { EntitySchemaColumn column = columns.GetByUId(columnUId); var columnName = column.Name; if (column.IsCascade || excludedColumns.Contains(columnName)) { continue; } columnsName.Add(columnName); } return(columnsName); }
private Select WrapSelect(Select sourceSelect) { EntitySchemaColumnCollection visaColumns = _baseVisaSchema.Columns; string alias = "InternalSelect"; Select select = new Select(_userConnection) .Column(alias, "Id") .Column(alias, "CreatedOn") .Column(alias, "CreatedById") .Column(alias, "ModifiedOn") .Column(alias, "ModifiedById") .Column(alias, "ProcessListeners") .Column(alias, "Objective") .Column(alias, "VisaOwnerId") .Column(alias, "IsAllowedToDelegate") .Column(alias, "DelegatedFromId") .Column(alias, "StatusId") .Column(alias, "SetById") .Column(alias, "SetDate") .Column(alias, "IsCanceled") .Column(alias, "Comment") .Column(alias, "VisaSchemaName") .Column(alias, "Title") .Column(alias, "VisaObjectId") .Column(alias, "VisaSchemaTypeId") .Column(alias, "VisaTypeName") .Column(alias, "VisaSchemaCaption") .Column(alias, "SchemaName") .Column(alias, "SourceSchemaName") .Column("CreatedBy", "Name").As(visaColumns.FindByName("CreatedBy").DisplayColumnValueName) .Column("VisaStatus", "Name").As(visaColumns.FindByName("Status").DisplayColumnValueName) .From(sourceSelect).As(alias) .LeftOuterJoin("Contact").As("CreatedBy").On("CreatedBy", "Id").IsEqual(alias, "CreatedById") .LeftOuterJoin("VisaStatus").On("VisaStatus", "Id").IsEqual(alias, "StatusId") .OrderBy(OrderDirectionStrict.Descending, alias, "ModifiedOn") as Select; return(select); }
protected EntitySchemaColumn GetColumnByName(string columnName) { EntitySchemaColumnCollection columns = _rootSchema.Columns; return(columns.FindByName(columnName) ?? columns.FindByColumnValueName(columnName)); }
private EntitySchemaColumn GetSchemaColumnByName(string columnName, EntitySchema schema) { EntitySchemaColumnCollection columns = schema.Columns; return(columns.FindByName(columnName) ?? columns.FindByColumnValueName(columnName)); }