Beispiel #1
0
        private static bool IsAlreadyAdded(ColumnAndField primaryKeyObj, List <ColumnAndField> whereList1, List <ColumnAndField> whereList2)
        {
            var isNotAddedInPresentList  = whereList1.Where(t => t.EntityPrefix.Equals(primaryKeyObj.EntityPrefix) && t.ColumnName.Equals(primaryKeyObj.ColumnName)).ToList();
            var isNotAddedInPreviousList = whereList2.Where(t => t.EntityPrefix.Equals(primaryKeyObj.EntityPrefix) && t.ColumnName.Equals(primaryKeyObj.ColumnName)).ToList();

            return(isNotAddedInPresentList.Any() || isNotAddedInPreviousList.Any());
        }
Beispiel #2
0
        //tapash why these fields are static???
        internal static List <ColumnAndField> GetItemSelectDetailsWithValue(Guid tenantId, Guid itemId, string entityContext, string subtype, string rowName, bool active, Guid updatedBy, string code)
        {
            var itemTableColumns = ItemHelper.GetItemSelectDetails(tenantId, entityContext);

            foreach (var item in itemTableColumns)
            {
                if (item.ColumnName.Equals("[Id]"))
                {
                    item.Value = itemId;
                }
                else if (item.ColumnName.Equals("[EntityCode]") && !string.IsNullOrEmpty(entityContext))
                {
                    item.Value = entityContext;
                }
                else if (item.ColumnName.Equals("[EntitySubTypeCode]"))
                {
                    item.Value = subtype;
                }
                else if (item.ColumnName.Equals("[Name]") && !string.IsNullOrEmpty(rowName))
                {
                    item.Value = rowName;
                }
                else if (item.ColumnName.Equals("[Active]"))
                {
                    item.Value = active;
                }
                else if (item.ColumnName.Equals("[Code]") && !string.IsNullOrEmpty(code))
                {
                    item.Value = code;
                }
                else if (item.ColumnName.Equals("[UpdatedBy]"))
                {
                    item.Value = updatedBy;
                }
                else if (item.ColumnName.Equals("[UpdatedOn]"))
                {
                    item.Value = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss");;
                }
            }

            //added tenant with value..
            var column6 = new ColumnAndField();

            column6.FieldName    = "TenantId";
            column6.ColumnName   = "TenantId";
            column6.TableName    = ItemTableName;
            column6.PrimaryKey   = ItemTablePrimarykey;
            column6.EntityPrefix = Alias;
            column6.Value        = tenantId;
            itemTableColumns.Add(column6);

            return(itemTableColumns);
        }
Beispiel #3
0
        public List <ColumnAndField> GetColumnsByUserQuery(string[] result, List <ColumnAndField> columns)
        {
            if (result == null || !result.Any())
            {
                return(columns);
            }
            var matchingColumns = new List <ColumnAndField> ();
            var index           = 0;

            foreach (var item in result)
            {
                // var matchColumn = columns.FirstOrDefault(
                //     t =>
                //     (
                //         (!string.IsNullOrEmpty(t.ClientName)) &&
                //         (t.ClientName + "." + t.FieldName).ToLower().Equals(item.ToLower())
                //     ) ||
                //     t.FieldName.ToLower().Equals(item.ToLower())
                // );
                ColumnAndField matchColumn = null;
                foreach (var col in columns)
                {
                    if (col.ColumnName.Equals("[***]"))
                    {
                        continue;
                    }
                    if (!string.IsNullOrEmpty(col.ClientName))
                    {
                        if ((col.ClientName + "." + col.FieldName).ToLower().Equals(item.ToLower()))
                        {
                            matchColumn = col;
                            break;
                        }
                    }
                    else
                    {
                        if (col.FieldName.ToLower().Equals(item.ToLower()))
                        {
                            matchColumn = col;
                            break;
                        }
                    }
                }
                if (matchColumn != null)
                {
                    matchingColumns.Add(matchColumn);
                    matchColumn.QueryIndex = index;
                    index++;
                    continue;
                }
            }
            return(matchingColumns);
        }
Beispiel #4
0
        // internal static List<FieldModel> GetItemFields(){

        //     var myList = new List<FieldModel>();
        //      PropertyInfo[] propertyInfos = typeof(Item).GetProperties(BindingFlags.Public|BindingFlags.Static);
        //      PropertyInfo[] propertyInfos1 = typeof(Item).GetProperties();
        //     // foreach (var iField in itemsData)
        //     // {
        //     //     var filedModel = new FieldModel();
        //     //     filedModel.ReadOnly = true;
        //     //     filedModel.Name = iField.Key;
        //     //     if(iField.Value!="Id"){
        //     //         filedModel.ApplicableForAdvanceSearch = true;
        //     //         filedModel.ApplicableForSimpleSearch = true;
        //     //         if(iField.Value=="Active"){
        //     //             filedModel.DataType = "PickList";
        //     //             filedModel.ControlType = "DropDown";
        //     //         }
        //     //         myList.Add(filedModel);
        //     //     }
        //     // }
        //     return myList;
        // }

        // internal static Dictionary<string, Dictionary<string, dynamic>> GetItemDetails(Guid id, string tenantId, string entityName, string entityCode, string entitySubtype, string itemName, Guid updatedBy)
        // {
        // var itemDetails = new Dictionary<string, Dictionary<string, dynamic>>();
        //     var itemColumn = new Dictionary<string, dynamic>();
        //     itemColumn.Add("TenantCode", tenantId);
        //     itemColumn.Add("Id", id);
        //     itemColumn.Add("EntityCode", entityCode);//"EN10003"
        //     itemColumn.Add("EntitySubTypeCode", entitySubtype);//"EN10003-ST01"
        //     itemColumn.Add("Name", itemName);
        //     itemColumn.Add("UpdatedBy", updatedBy);
        //     itemColumn.Add("UpdatedOn", DateTime.UtcNow);
        //     itemDetails.Add("[dbo].[Item]", itemColumn);
        //     return itemDetails;
        // }
        internal static List <ColumnAndField> GetItemSelectDetails(Guid tenantId, string entityCode, int index = 0)
        {
            var itemTables = new List <ColumnAndField> ();

            foreach (var item in ItemsData)
            {
                var column = new ColumnAndField();
                column.FieldName      = item.Key;
                column.ColumnName     = item.Value;
                column.TableName      = ItemTableName;
                column.PrimaryKey     = ItemTablePrimarykey;
                column.EntityPrefix   = Alias;
                column.EntityFullName = ItemClassName;
                column.ClientName     = string.Empty;
                column.QueryIndex     = index;
                if (index != 0)
                {
                    index++;
                }
                itemTables.Add(column);
            }
            return(itemTables);
        }
Beispiel #5
0
        private static Dictionary <string, string> GetNecessaryColumns(Guid tenantId, Guid parentId, List <ColumnAndField> fields, ColumnAndField parentField)
        {
            var columns = new Dictionary <string, string> ();

            foreach (var item in fields)
            {
                if (item.ColumnName.Equals(parentField.ColumnName))
                {
                    item.Value = parentId;
                }
                else if (item.ColumnName.Equals(item.PrimaryKey))
                {
                    item.Value = Guid.NewGuid().ToString();
                }
                else if (item.ColumnName.Equals("[TenantId]"))
                {
                    item.Value = tenantId.ToString();
                }
                if (item.Value != null)
                {
                    var added = columns.Where(t => t.Key.Equals(item.ColumnName)).Any();
                    if (!added)
                    {
                        columns.Add(item.ColumnName, item.Value.ToString());
                    }
                }
            }
            return(columns);
        }
Beispiel #6
0
        private static void MapBasicFields(List <ColumnAndField> matchingColumns, IMetadataManager entityManager, ColumnAndField item, string VirtualName, List <ColumnAndField> basicColumn)
        {
            var primaryId       = entityManager.GetPrimaryKeyByEntityname(item.TypeOf);
            var tableName       = basicColumn[0].TableName;
            var primaryIdPrefix = string.Empty;

            foreach (var bs in basicColumn)
            {
                bs.ClientName = item.FieldName + "_" + bs.EntityFullName;
                var targetPrefix = item.EntityPrefix + "_" + item.FieldName + "_" + item.TypeOf;
                bs.EntityPrefix = targetPrefix;
                if (bs.ColumnName.ToLower().Equals(primaryId.ToLower()))
                {
                    primaryIdPrefix = targetPrefix;
                }
                bs.VirtualField = true;
                bs.VirtualName  = VirtualName;
                matchingColumns.Add(bs);
            }
            item.InversePrefixName = primaryIdPrefix;
            item.InverseColumnName = primaryId;
            item.InverseTableName  = tableName;
        }