CounterInfo IManagerCounter.GetCounters(Guid tenantId, string entityName) { IMetadataManager _iMetadataManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager(); string entityId = _iMetadataManager.GetEntityContextByEntityName(entityName); return(_reviewCounter.GetCounters(tenantId, entityId)); }
private void GetValueAfterCloning(FieldModel field, Guid rootTenantId, Guid intialisedTenantId, Validator validator, string typeId) { if (field != null) { IMetadataManager _imetadataManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager(); var fieldContext = _imetadataManager.GetEntityContextByEntityName(field.TypeOf, field.DataType.ToLower() == "picklist"?true:false); // if (!string.IsNullOrEmpty(fieldContext)) // { // var newId = (field.DataType.ToString().ToLower().Equals(VPC.Metadata.Business.DataAnnotations.DataType.PickList.ToString().ToLower())) ? GetPickListValue(field, rootTenantId, intialisedTenantId, validator.DefaultValue, fieldContext) : GetEntityValue(field, rootTenantId, intialisedTenantId, validator.DefaultValue, fieldContext); // validator.DefaultValue = newId; // } dynamic newlyCreatedId = null; if (field.DataType.ToString().ToLower().Equals(VPC.Metadata.Business.DataAnnotations.DataType.PickList.ToString().ToLower())) { newlyCreatedId = GetPickListValue(field, rootTenantId, intialisedTenantId, validator.DefaultValue, fieldContext); if (newlyCreatedId != Guid.Empty) { validator.DefaultValue = newlyCreatedId; } } else if (field.DataType.ToString().ToLower().Equals(VPC.Metadata.Business.DataAnnotations.DataType.Lookup.ToString().ToLower())) { newlyCreatedId = GetEntityValue(field, rootTenantId, intialisedTenantId, validator.DefaultValue, fieldContext); if (newlyCreatedId != Guid.Empty) { validator.DefaultValue = newlyCreatedId; } } } }
bool IManagerCounter.Update(Guid tenantId, CounterInfo info) { IMetadataManager _iMetadataManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager(); string entityId = _iMetadataManager.GetEntityContextByEntityName(info.EntityName); return(_adminCounter.Update(tenantId, info, entityId)); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, CustomRoleAuth requirement) { if (!context.User.Identity.IsAuthenticated) { return(Task.CompletedTask); } bool isSuperAdmin = bool.Parse(context.User.Claims.FirstOrDefault(c => c.Type == "IsSuperAdmin").Value); bool isSystemAdmin = bool.Parse(context.User.Claims.FirstOrDefault(c => c.Type == "IsSystemAdmin").Value); if (isSuperAdmin || isSystemAdmin) { context.Succeed(requirement); return(Task.CompletedTask); } var userId = new Guid(context.User.Claims.FirstOrDefault(c => c.Type == "UserId").Value); var tenantId = new Guid(context.User.Claims.FirstOrDefault(c => c.Type == "TenantId").Value); ISecurityCacheManager securityManager = new SecurityCacheManager(); IMetadataManager iMetadataManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager(); var entitySecurities = securityManager.SecurityCache(tenantId, userId, false).EntitySecurity; if (entitySecurities.Count == 0) { return(Task.CompletedTask); } int[] codes = null; var methodType = string.Empty; var mvcContext = context.Resource as AuthorizationFilterContext; var descriptor = mvcContext?.ActionDescriptor as ControllerActionDescriptor; if (descriptor != null) { methodType = mvcContext.HttpContext.Request.Method; var routeValueOfX = (string)mvcContext.HttpContext.GetRouteValue("entityName"); if (routeValueOfX == null) { // mvcContext.Result = new JsonResult("Entity name not matching.") { StatusCode = 418 }; return(Task.CompletedTask); } var entityId = iMetadataManager.GetEntityContextByEntityName(routeValueOfX); var itsSecurity = (from entitySecurity in entitySecurities where entitySecurity.EntityId == entityId select entitySecurity).ToList(); if (itsSecurity.Count > 0) { codes = itsSecurity[0].SecurityCode.ToString().Select(t => int.Parse(t.ToString())).ToArray(); } } if (codes == null) { return(Task.CompletedTask); } if (methodType.ToUpper().Equals("GET")) { if (codes[0] > 1) { context.Succeed(requirement); } } else if (methodType.ToUpper().Equals("POST")) { if (codes[3] > 1) { context.Succeed(requirement); } } else if (methodType.ToUpper().Equals("PUT") || methodType.ToUpper().Equals("PATCH")) { if (codes[4] > 1) { context.Succeed(requirement); } } else if (methodType.ToUpper().Equals("DELETE")) { if (codes[5] > 1) { context.Succeed(requirement); } } // if(!context.HasSucceeded) // mvcContext.Result = new JsonResult("Need a custom message") { StatusCode = 418 }; return(Task.CompletedTask); }
public DataTable GetRelations(Guid tenantId, string entityName, Guid id, string relationEntityName, string intersectFieldName, string intersectClassName) { IMetadataManager _metadaManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager(); var tableName = _metadaManager.GetTableNameByEntityname(relationEntityName); var primaryKey = _metadaManager.GetPrimaryKeyByEntityname(relationEntityName); var fields = _metadaManager.GetColumnNameByEntityName(relationEntityName, null); if (fields.Any()) { IRelationQueryAdmin admin = new RelationQueryAdmin(); var parentTableName = _metadaManager.GetTableNameByEntityname(entityName); var parentField = fields.FirstOrDefault(t => t.ReferenceTableName.Equals(parentTableName)); if (parentField == null) { return(null); } // var childField = fields.FirstOrDefault(t => t.FieldName.Equals(intersectFieldName)); if (childField == null) { return(null); } var childTableName = childField.ReferenceTableName; var childTablePrimaryKey = childField.ReferenceColumnName; var intersectContext = _metadaManager.GetEntityContextByEntityName(intersectClassName, false); var itemTableColumns = ItemHelper.GetItemSelectDetails(tenantId, intersectContext, 0); var selectQueryBuilder = new SelectQueryBuilder(); selectQueryBuilder.SelectFromTable(tableName, fields[0].EntityPrefix); selectQueryBuilder.AddJoin(JoinType.InnerJoin, childTableName, "_tt", childTablePrimaryKey, Comparison.Equals, tableName, fields[0].EntityPrefix, childField.ColumnName); selectQueryBuilder.AddJoin(JoinType.InnerJoin, itemTableColumns[0].TableName, itemTableColumns[0].EntityPrefix, childTablePrimaryKey, Comparison.Equals, tableName, fields[0].EntityPrefix, childField.ColumnName); var queryColumns = new List <string> (); var toDict = new Dictionary <string, string> (); foreach (var item in itemTableColumns) { // if(!item.IsIntersectProperties)continue; // var columnName = !string.IsNullOrEmpty (item.ClientName) ? item.ClientName + "." + item.FieldName : item.FieldName; if (item.ColumnName.Equals(item.PrimaryKey) || item.ColumnName.Equals("[Name]")) { queryColumns.Add(item.EntityPrefix + "." + item.ColumnName); toDict.Add(item.EntityPrefix + "." + item.ColumnName, item.FieldName); } } selectQueryBuilder.SelectColumns(queryColumns.ToArray()); selectQueryBuilder.SelectColumnsAndAliases(toDict); selectQueryBuilder.AddWhere(parentField.ColumnName, Comparison.Equals, id.ToString(), 1); var selectQuery = selectQueryBuilder.BuildQuery(); IRelationReview review = new RelationReview(); return(review.GetResult(tenantId, tableName, selectQuery)); } return(null); //return status; }