Пример #1
0
        private void Frm_PropertySelected(object sender, MyPropertyInfo e, RadTreeViewItem parentItem)
        {
            MyProjectManager.GetMyProjectManager.CloseDialog(sender);
            FormulaItemDTO fItem = FormulaHelper.ToFormulaItem(e);

            AddNode(parentItem == null ? treeParameters.Items : parentItem.Items, fItem);
        }
Пример #2
0
        //////internal List<FormulaItemDTO> GetFormulaItems(FormulaDefinitionInstance formulaInstance, string expressionStr)
        //////{
        //////    FormulaItems.Clear();
        //////    //if (MainFormulaObject is FormulaObject)
        //////    //{
        //////    //////formulaInstance.PropertyGetCalled += FormulaInstance_PropertyGetCalled;
        //////    //}
        //////    //else if (mainFormulaObjectOrList is IList)
        //////    //{
        //////    //    foreach (FormulaObject item in (mainFormulaObjectOrList as IList))
        //////    //    {
        //////    //        item.PropertyGetCalled += FormulaInstance_PropertyGetCalled;
        //////    //    }
        //////    //}
        //////    //     GetExpression(expressionStr);
        //////    //////formulaInstance.CalculateExpression(expressionStr);
        //////    //////formulaInstance.PropertyGetCalled -= FormulaInstance_PropertyGetCalled;
        //////    return FormulaItems;
        //////}

        private void FormulaInstance_PropertyGetCalled(object sender, PropertyGetArg e)
        {
            //var parentItem = GetParentFormulaItem(FormulaItems, e);

            if (FormulaItemExists(e.PropertyInfo, e.PropertyInfo.ID))
            {
                return;
            }
            FormulaItemDTO newItem = new FormulaItemDTO();

            newItem.ItemType = GetFormulaItemType(e.PropertyInfo.PropertyType);
            if (newItem.ItemType == FormuaItemType.None)
            {
                return;
            }
            newItem.ItemID               = e.PropertyInfo.ID;
            newItem.ItemTitle            = e.PropertyInfo.Name;
            newItem.RelationshipIDTail   = e.PropertyInfo.RelationshipTail;
            newItem.RelationshipNameTail = e.PropertyInfo.RelationshipPropertyTail;

            //if (parentItem == null)
            FormulaItems.Add(newItem);
            //else
            //    parentItem.ChildFormulaItems.Add(newItem);
        }
Пример #3
0
        private RadTreeViewItem AddNode(ItemCollection items, FormulaItemDTO item)
        {
            RadTreeViewItem node = new RadTreeViewItem();

            node.Header      = item.ItemTitle;
            node.DataContext = item;
            items.Add(node);
            return(node);
        }
Пример #4
0
        internal static FormulaItemDTO ToFormulaItem(MyPropertyInfo calledProperty)
        {
            var newItem = new FormulaItemDTO();

            newItem.ItemType = GetFormulaItemType(calledProperty.PropertyType);
            if (newItem.ItemType == FormuaItemType.None)
            {
                return(null);
            }
            newItem.ItemID               = calledProperty.ID;
            newItem.ItemTitle            = calledProperty.Name;
            newItem.RelationshipIDTail   = calledProperty.RelationshipTail;
            newItem.RelationshipNameTail = calledProperty.RelationshipPropertyTail;
            return(newItem);
        }
        //private void RemoveFormulaItem(MyProjectEntities projectContext, FormulaItems formulaItems)
        //{
        //    while (formulaItems.Any())
        //    {
        //        projectContext.FormulaItems.Remove(formulaItems);
        //    }
        //}


        private FormulaItems ToFormualaItem(FormulaItemDTO formulaItem, Formula dbFormula)
        {
            FormulaItems dbItem = new FormulaItems();

            dbItem.ID = formulaItem.ID;
            dbItem.RelationshipIDTail   = formulaItem.RelationshipIDTail;
            dbItem.RelationshipNameTail = formulaItem.RelationshipNameTail;
            dbItem.ItemTitle            = formulaItem.ItemTitle;
            if (formulaItem.ItemType == FormuaItemType.Column)
            {
                dbItem.ColumnID = formulaItem.ItemID;
            }
            else if (formulaItem.ItemType == FormuaItemType.FormulaParameter)
            {
                dbItem.FormulaParameterID = formulaItem.ItemID;
            }
            else if (formulaItem.ItemType == FormuaItemType.Relationship)
            {
                dbItem.RelationshipID = formulaItem.ItemID;
            }
            else if (formulaItem.ItemType == FormuaItemType.DatabaseFunction)
            {
                dbItem.DatabaseFunction_TableDrivedEntityID = formulaItem.ItemID;
            }
            else if (formulaItem.ItemType == FormuaItemType.Code)
            {
                dbItem.CodeFunction_TableDrivedEntityID = formulaItem.ItemID;
            }
            else if (formulaItem.ItemType == FormuaItemType.State)
            {
                dbItem.TableDrivedEntityStateID = formulaItem.ItemID;
            }
            //foreach (var citem in formulaItem.ChildFormulaItems)
            //{
            //    var sendRelationshipTail = relationshipTail;
            //    if (dbItem.RelationshipID != null)
            //        sendRelationshipTail = (sendRelationshipTail == "" ? dbItem.RelationshipID.ToString() : sendRelationshipTail + "," + dbItem.RelationshipID);

            //    var childItem = ToFormualaItem(citem, dbFormula, sendRelationshipTail);
            //    dbItem.FormulaItems1.Add(childItem);
            //}

            return(dbItem);
        }
Пример #6
0
 private void LokCodeFunctionEntity_SelectionChanged(object sender, MyCommonWPFControls.SelectionChangedArg e)
 {
     if (lokCodeFunctionEntity.SelectedItem != null)
     {
         //Formula.FormulaItems.Clear();
         //Formula.FormulaItems = e.FormulaItems;
         var codeEntity = bizCodeFunction.GetCodeFunctionEntity(MyProjectManager.GetMyProjectManager.GetRequester(), (int)lokCodeFunctionEntity.SelectedValue);
         cmbTypes.SelectedItem = codeEntity.CodeFunction.RetrunDotNetType;
         List <FormulaItemDTO> list = new List <FormulaItemDTO>();
         foreach (var item in codeEntity.CodeFunctionEntityColumns.Where(x => x.ColumnID != 0))
         {
             var rItem = new FormulaItemDTO();
             rItem.ItemID    = item.ColumnID;
             rItem.ItemType  = FormuaItemType.Column;
             rItem.ItemTitle = item.ColumnName;
             list.Add(rItem);
         }
         ShowTreeParameters(treeParameters.Items, list);
     }
 }
        private FormulaItemDTO ToFormualaItemDTO(int entityID, FormulaItems dbFormulaItem)
        {
            FormulaItemDTO formulaItem = new FormulaItemDTO();

            formulaItem.ID = dbFormulaItem.ID;
            formulaItem.RelationshipIDTail = dbFormulaItem.RelationshipIDTail;
            if (!string.IsNullOrEmpty(formulaItem.RelationshipIDTail))
            {
                var bizEntityRelationshipTail = new BizEntityRelationshipTail();
                formulaItem.RelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(entityID, formulaItem.RelationshipIDTail);
            }
            formulaItem.RelationshipNameTail = dbFormulaItem.RelationshipNameTail;
            formulaItem.FormulaID            = dbFormulaItem.FormulaID ?? 0;
            formulaItem.ItemTitle            = dbFormulaItem.ItemTitle;
            if (dbFormulaItem.ColumnID != null)
            {
                formulaItem.ItemID   = dbFormulaItem.ColumnID.Value;
                formulaItem.ItemType = FormuaItemType.Column;
            }
            else if (dbFormulaItem.FormulaParameterID != null)
            {
                formulaItem.ItemID   = dbFormulaItem.FormulaParameterID.Value;
                formulaItem.ItemType = FormuaItemType.FormulaParameter;
            }
            else if (dbFormulaItem.RelationshipID != null)
            {
                formulaItem.ItemID   = dbFormulaItem.RelationshipID.Value;
                formulaItem.ItemType = FormuaItemType.Relationship;
            }

            //foreach (var dbcItem in dbFormulaItem.FormulaItems1)
            //{
            //    formulaItem.ChildFormulaItems.Add(ToFormualaItemDTO(dbcItem));
            //}

            return(formulaItem);
        }