Ejemplo n.º 1
0
        /// <summary>
        /// 将活动矩阵与审批矩阵进行合并,以第一个矩阵的列定义为准
        /// </summary>
        /// <param name="amRows"></param>
        /// <param name="amDefinitions"></param>
        /// <param name="apRows"></param>
        /// <param name="apDefinitions"></param>
        public static void MergeActivityMatrix(this SOARolePropertyRowCollection amRows, SOARolePropertyDefinitionCollection amDefinitions, IEnumerable<SOARolePropertyRow> apRows, SOARolePropertyDefinitionCollection apDefinitions)
        {
            amDefinitions.NullCheck("amDefinitions");
            amRows.NullCheck("amRows");
            apDefinitions.NullCheck("apDefinitions");
            apRows.NullCheck("apRows");

            int maxRowNumber = GetMaxRowNumber(amRows);

            foreach (SOARolePropertyRow apRow in apRows)
            {
                SOARolePropertyRow newRow = new SOARolePropertyRow(amRows.Role);

                newRow.RowNumber = ++maxRowNumber;
                newRow.OperatorType = apRow.OperatorType;
                newRow.Operator = apRow.Operator;

                foreach (SOARolePropertyValue srv in apRow.Values)
                {
                    if (amDefinitions.ContainsKey(srv.Column.Name))
                    {
                        SOARolePropertyValue newValue = new SOARolePropertyValue(amDefinitions[srv.Column.Name]);

                        newValue.Value = srv.Value;

                        newRow.Values.Add(newValue);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 将活动矩阵与审批矩阵进行合并,以第一个矩阵的列定义为准
        /// </summary>
        /// <param name="amRows"></param>
        /// <param name="amDefinitions"></param>
        /// <param name="apRows"></param>
        /// <param name="apDefinitions"></param>
        public static void MergeActivityMatrix(this SOARolePropertyRowCollection amRows, SOARolePropertyDefinitionCollection amDefinitions, IEnumerable <SOARolePropertyRow> apRows, SOARolePropertyDefinitionCollection apDefinitions)
        {
            amDefinitions.NullCheck("amDefinitions");
            amRows.NullCheck("amRows");
            apDefinitions.NullCheck("apDefinitions");
            apRows.NullCheck("apRows");

            int maxRowNumber = GetMaxRowNumber(amRows);

            foreach (SOARolePropertyRow apRow in apRows)
            {
                SOARolePropertyRow newRow = new SOARolePropertyRow(amRows.Role);

                newRow.RowNumber    = ++maxRowNumber;
                newRow.OperatorType = apRow.OperatorType;
                newRow.Operator     = apRow.Operator;

                foreach (SOARolePropertyValue srv in apRow.Values)
                {
                    if (amDefinitions.ContainsKey(srv.Column.Name))
                    {
                        SOARolePropertyValue newValue = new SOARolePropertyValue(amDefinitions[srv.Column.Name]);

                        newValue.Value = srv.Value;

                        newRow.Values.Add(newValue);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private static void AppendOperator(SOARolePropertyRow row, SOARolePropertyDefinitionCollection columns, string apUser)
        {
            string columnName = SOARolePropertyDefinition.OperatorColumn;

            if (columns.ContainsKey(columnName))
            {
                SOARolePropertyValue pValue = row.Values.FindByColumnName(columnName);

                if (pValue == null)
                {
                    pValue = new SOARolePropertyValue(columns[columnName]);
                    row.Values.Add(pValue);
                }

                if (apUser.IsNotEmpty())
                {
                    pValue.Value = pValue.Value.NullOrEmptyIs(row.Operator);

                    if (pValue.Value.IsNotEmpty())
                    {
                        pValue.Value += ",";
                    }
                    else
                    {
                        pValue.Value = string.Empty;
                    }

                    pValue.Value += apUser;

                    row.Operator = pValue.Value;
                }
            }
        }
Ejemplo n.º 4
0
        private static void SetCellValue(SOARolePropertyRow row, SOARolePropertyDefinitionCollection columns, string columnName, string cellValue)
        {
            if (columns.ContainsKey(columnName))
            {
                SOARolePropertyValue pValue = row.Values.FindByColumnName(columnName);

                if (pValue == null)
                {
                    pValue = new SOARolePropertyValue(columns[columnName]);
                    row.Values.Add(pValue);
                }

                pValue.Value = cellValue;
            }
        }
Ejemplo n.º 5
0
        private static void AppendOperator(SOARolePropertyRow row, SOARolePropertyDefinitionCollection columns, string apUser)
        {
            string columnName = SOARolePropertyDefinition.OperatorColumn;

            if (columns.ContainsKey(columnName))
            {
                SOARolePropertyValue pValue = row.Values.FindByColumnName(columnName);

                if (pValue == null)
                {
                    pValue = new SOARolePropertyValue(columns[columnName]);
                    row.Values.Add(pValue);
                }

                if (apUser.IsNotEmpty())
                {
                    pValue.Value = pValue.Value.NullOrEmptyIs(row.Operator);

                    if (pValue.Value.IsNotEmpty())
                        pValue.Value += ",";
                    else
                        pValue.Value = string.Empty;

                    pValue.Value += apUser;

                    row.Operator = pValue.Value;
                }
            }
        }
Ejemplo n.º 6
0
        private static void SetCellValue(SOARolePropertyRow row, SOARolePropertyDefinitionCollection columns, string columnName, string cellValue)
        {
            if (columns.ContainsKey(columnName))
            {
                SOARolePropertyValue pValue = row.Values.FindByColumnName(columnName);

                if (pValue == null)
                {
                    pValue = new SOARolePropertyValue(columns[columnName]);
                    row.Values.Add(pValue);
                }

                pValue.Value = cellValue;
            }
        }