コード例 #1
0
        public FormulaDTO ToFormulaDTO(DataAccess.Formula item, bool withDetails)
        {
            FormulaDTO result = new FormulaDTO();

            ToFormulaDTO(item, result, withDetails);
            return(result);
        }
コード例 #2
0
        //public CodeFunctionFormulaDTO GetCodeFunctionFormula(DR_Requester requester, int FormulaID, bool withDetails)
        //{
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var dbFormula = projectContext.Formula.First(x => x.ID == FormulaID);
        //        CodeFunctionFormulaDTO result = new CodeFunctionFormulaDTO();
        //        ToFormulaDTO(dbFormula, result, withDetails);
        //        if (withDetails)
        //        {
        //            BizCodeFunction bizCodeFunction = new MyModelManager.BizCodeFunction();
        //            result.CodeFunction = bizCodeFunction.GetCodeFunction(requester, result.CodeFunctionID);
        //        }
        //        return result;
        //    }
        //}
        //public DatabaseFunctionEntityFormulaDTO GetDatabaseFunctionEntityFormula(DR_Requester requester, int FormulaID, bool withDetails)
        //{
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var dbFormula = projectContext.Formula.First(x => x.ID == FormulaID);
        //        DatabaseFunctionEntityFormulaDTO result = new DatabaseFunctionEntityFormulaDTO();
        //        ToFormulaDTO(dbFormula, result, withDetails);
        //        if (withDetails)
        //        {
        //            BizDatabaseFunction bizDatabaseFunction = new MyModelManager.BizDatabaseFunction();
        //            result.DatabaseFunctionEntity = bizDatabaseFunction.GetDatabaseFunctionEntity(requester, result.DatabaseFunctionEntityID);
        //        }
        //        return result;
        //    }
        //}


        public FormulaDTO GetFormula(DR_Requester requester, int FormulaID, bool withDetails)
        {
            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                var Formula = projectContext.Formula.First(x => x.ID == FormulaID);

                FormulaDTO result = new FormulaDTO();
                ToFormulaDTO(Formula, result, withDetails);
                return(result);
            }
        }
コード例 #3
0
        private RadTreeViewItem AddParameterNode(ItemCollection collection, FormulaDTO formula)
        {
            var node = GetNode();

            node.DataContext = formula;
            node.Header      = GetNodeHeader(formula.Name, DatabaseObjectCategory.Formula);
            node.ToolTip     = formula.Title;
            collection.Add(node);
            _AllItems.Add(node);
            RadContextMenu.SetContextMenu(node, GetParameterContextMenu(collection, formula.EntityID, formula.ID));
            return(node);
        }
コード例 #4
0
 public void ToFormulaDTO(DataAccess.Formula item, FormulaDTO result, bool withDetails)
 {
     result.Name     = item.Name;
     result.ID       = item.ID;
     result.EntityID = item.TableDrivedEntityID ?? 0;
     if (item.LinearFormulaID != null)
     {
         result.FormulaType     = FormulaType.Linear;
         result.LinearFormulaID = item.LinearFormulaID.Value;
     }
     else if (item.CodeFunction_TableDrivedEntityID != null)
     {
         result.FormulaType          = FormulaType.CodeFunctionEntity;
         result.CodeFunctionEntityID = item.CodeFunction_TableDrivedEntityID.Value;
     }
     else if (item.DatabaseFunction_TableDrivedEntityID != null)
     {
         result.FormulaType = FormulaType.DatabaseFunctionEntity;
         result.DatabaseFunctionEntityID = item.DatabaseFunction_TableDrivedEntityID.Value;
     }
     else if (item.CodeFunctionID != null)
     {
         result.FormulaType    = FormulaType.CodeFunction;
         result.CodeFunctionID = item.CodeFunctionID.Value;
     }
     if (item.LinearFormula != null)
     {
         result.Tooltip = item.LinearFormula.FormulaText;
     }
     result.Title = item.Title;
     //result.ValueCustomType = (ValueCustomType)item.ValueCustomType;
     result.ResultDotNetType = GetFormulaDotNetType(item.ResultType);
     result.ResultType       = item.ResultType;
     //////BizFormulaUsage
     //////result.FormulaUsed = item.FormulaUsage.Any();
     if (withDetails)
     {
         foreach (var dbFormulaItem in item.FormulaItems1)
         {
             result.FormulaItems.Add(ToFormualaItemDTO(item.TableDrivedEntityID ?? 0, dbFormulaItem));
         }
     }
 }
        public JsonResult Update(FormulaDTO dto)
        {
            bool succeeded = false;

            try
            {
                var model = UnitOfWork.TblFormula.Get(dto.id);

                if (model != null)
                {
                    model.formula_name             = dto.formula_name;
                    model.formula_locn             = dto.formula_locn;
                    model.formula_labor_rate       = dto.formula_labor_rate;
                    model.formula_labor_time       = dto.formula_labor_time;
                    model.formula_labor_factor     = dto.formula_labor_factor;
                    model.formula_OH               = dto.formula_OH;
                    model.formula_GA               = dto.formula_GA;
                    model.formula_finance          = dto.formula_finance;
                    model.formula_warehouse        = dto.formula_warehouse;
                    model.formula_inlndfrgt        = dto.formula_inlndfrgt;
                    model.formula_inlndfrgt_size   = dto.formula_inlndfrgt_size;
                    model.formula_oceanfrgt        = dto.formula_oceanfrgt;
                    model.formula_oceanfrgt_size   = dto.formula_oceanfrgt_size;
                    model.formula_imprtdty         = dto.formula_imprtdty;
                    model.formula_excisetx         = dto.formula_excisetx;
                    model.formula_MAR              = dto.formula_MAR;
                    model.formula_strlzn           = dto.formula_strlzn;
                    model.formula_strlzn_load      = dto.formula_strlzn_load;
                    model.formula_import_ship_rate = dto.formula_import_ship_rate;
                    model.formula_updtdate         = dto.formula_updtdate;
                    model.formula_deleted          = dto.formula_deleted;

                    UnitOfWork.Save();
                    succeeded = true;
                }
            }
            catch (Exception ex)
            {
                succeeded = false;
            }
            return(Json(succeeded, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        //public frmFormula()
        //{
        //    InitializeComponent();
        //    //FormulaIntention = new FormulaIntention() { DefaultFormulaID = 3006, Type = Enum_FormulaIntention.FormulaForParameter, EntityID = 11 };
        //}
        public frmFormula(int formulaID, int entityID)
        {
            InitializeComponent();
            //FormulaIntention = formulaIntention;
            //EntityID = entityID;

            SetTypeCombo();
            treeParameters.ContextMenuOpening += TreeParameters_ContextMenuOpening;
            RadContextMenu.SetContextMenu(treeParameters, GenerateContextMenu());
            //cmbCustomType.ItemsSource = Enum.GetValues(typeof(ValueCustomType));
            SetLookups();
            if (formulaID != 0)
            {
                GetFormula(formulaID);
            }
            else
            {
                Formula          = new FormulaDTO();
                Formula.EntityID = entityID;
                ShowFormula();
            }
            CheckTabVisibilities();
        }
        public JsonResult SaveNew(FormulaDTO dto)
        {
            try
            {
                var model = new tbl_formulas();

                model.formula_name             = dto.formula_name;
                model.formula_locn             = dto.formula_locn;
                model.formula_labor_rate       = dto.formula_labor_rate;
                model.formula_labor_time       = dto.formula_labor_time;
                model.formula_labor_factor     = dto.formula_labor_factor;
                model.formula_OH               = dto.formula_OH;
                model.formula_GA               = dto.formula_GA;
                model.formula_finance          = dto.formula_finance;
                model.formula_warehouse        = dto.formula_warehouse;
                model.formula_inlndfrgt        = dto.formula_inlndfrgt;
                model.formula_inlndfrgt_size   = dto.formula_inlndfrgt_size;
                model.formula_oceanfrgt        = dto.formula_oceanfrgt;
                model.formula_oceanfrgt_size   = dto.formula_oceanfrgt_size;
                model.formula_imprtdty         = dto.formula_imprtdty;
                model.formula_excisetx         = dto.formula_excisetx;
                model.formula_MAR              = dto.formula_MAR;
                model.formula_strlzn           = dto.formula_strlzn;
                model.formula_strlzn_load      = dto.formula_strlzn_load;
                model.formula_import_ship_rate = dto.formula_import_ship_rate;
                model.formula_updtdate         = dto.formula_updtdate;

                UnitOfWork.TblFormula.Add(model);
                UnitOfWork.Save();
                dto.id = model.id;
            }
            catch (Exception ex)
            {
                dto.id = 0;
            }
            return(Json(dto, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
        public List <FormulaDTO> GetFormulas(int entityID, bool generalFormulas)
        {
            List <FormulaDTO> result = new List <FormulaDTO>();

            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                IQueryable <Formula> formulas = null;
                if (generalFormulas)
                {
                    formulas = projectContext.Formula.Where(x => x.TableDrivedEntityID == null || x.TableDrivedEntityID == entityID);
                }
                else
                {
                    formulas = projectContext.Formula.Where(x => x.TableDrivedEntityID == entityID);
                }
                foreach (var item in formulas)
                {
                    FormulaDTO rItem = new FormulaDTO();
                    ToFormulaDTO(item, rItem, false);
                    result.Add(rItem);
                }
                return(result);
            }
        }
コード例 #9
0
        private List <FormulaUsageParemetersDTO> GetFormulaUsageParemeters(DR_Requester requester, FormulaDTO formula, DP_DataRepository dataItem)
        {
            List <FormulaUsageParemetersDTO> result = new List <FormulaUsageParemetersDTO>();

            foreach (var item in formula.FormulaItems)
            {
                if (item.ItemType == FormuaItemType.Column)
                {
                    FormulaUsageParemetersDTO formulaUsageParemeter = new FormulaUsageParemetersDTO();
                    formulaUsageParemeter.ParameterName = item.ItemTitle;
                    DataitemRelatedColumnValueHandler dataitemRelatedColumnValueHandler = new DataitemRelatedColumnValueHandler();
                    var value = dataitemRelatedColumnValueHandler.GetValueSomeHow(requester, dataItem, item.RelationshipTail, item.ItemID, true);
                    formulaUsageParemeter.ParameterValue = (value != null ? value.ToString() : "<Null>");
                    result.Add(formulaUsageParemeter);
                }
            }
            return(result);
        }
コード例 #10
0
        //public FormulaParameterDTO GetFormulaParameter(int formulaParameterID)
        //{
        //    List<FormulaParameterDTO> result = new List<FormulaParameterDTO>();
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        return ToFormulaParameterDTO(projectContext.FormulaParameter.First(x => x.ID == formulaParameterID));
        //    }
        //}
        //public List<FormulaParameterDTO> GetFormulaParameters(int entityID)
        //{
        //    List<FormulaParameterDTO> result = new List<FormulaParameterDTO>();
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var list = projectContext.FormulaParameter.Where(x => x.TableDrivedEntityID == entityID);
        //        foreach (var item in list)
        //            result.Add(ToFormulaParameterDTO(item));
        //        return result;
        //    }
        //}

        //private FormulaParameterDTO ToFormulaParameterDTO(FormulaParameter cItem)
        //{
        //    var result = new FormulaParameterDTO();
        //    result.ID = cItem.ID;
        //    result.FormulaID = cItem.FormulaID;
        //    result.EntityID = cItem.TableDrivedEntityID;
        //    result.Name = cItem.Name;
        //    result.Title = cItem.Title;
        //    result.ResultType = GetFormulaDotNetType(cItem.Formula.ResultType);
        //    return result;
        //}



        //public int UpdateDatabaseFunction(DatabaseFunctionDTO DatabaseFunction)
        //{
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var dbDatabaseFunction = projectContext.DatabaseFunction.FirstOrDefault(x => x.ID == DatabaseFunction.ID);
        //        if (dbDatabaseFunction == null)
        //            dbDatabaseFunction = new DataAccess.DatabaseFunction();
        //        dbDatabaseFunction.FunctionName = DatabaseFunction.FunctionName;
        //        dbDatabaseFunction.ID = DatabaseFunction.ID;
        //        if (DatabaseFunction.EntityID != 0)
        //            dbDatabaseFunction.TableDrivedEntityID = DatabaseFunction.EntityID;
        //        dbDatabaseFunction.Title = DatabaseFunction.Title;
        //        dbDatabaseFunction.ReturnType = DatabaseFunction.ReturnType;
        //        dbDatabaseFunction.RelatedSchema = DatabaseFunction.Schema;
        //        while (dbDatabaseFunction.DatabaseFunctionParameter.Any())
        //        {
        //            dbDatabaseFunction.DatabaseFunctionParameter.Remove(dbDatabaseFunction.DatabaseFunctionParameter.First());
        //        }
        //        foreach (var column in DatabaseFunction.DatabaseFunctionParameter)
        //        {
        //            DatabaseFunctionParameter dbColumn = new DataAccess.DatabaseFunctionParameter();
        //            dbColumn.ColumnID = column.ColumnID;
        //            dbColumn.DataType = column.DataType;
        //            dbColumn.ParamName = column.ParameterName;
        //            dbDatabaseFunction.DatabaseFunctionParameter.Add(dbColumn);
        //        }
        //        if (dbDatabaseFunction.ID == 0)
        //            projectContext.DatabaseFunction.Add(dbDatabaseFunction);
        //        projectContext.SaveChanges();
        //        return dbDatabaseFunction.ID;
        //    }
        //}


        //private Enum_ColumnType ConvertParameterResultType(string resultType)
        //{
        //    if (string.IsNullOrEmpty(resultType))
        //        return Enum_ColumnType.None;
        //    else if (resultType == "String")
        //        return Enum_ColumnType.String;
        //    else if (resultType == "Numeric")
        //        return Enum_ColumnType.Numeric;
        //    else if (resultType == "Boolean")
        //        return Enum_ColumnType.Boolean;
        //    else if (resultType == "Date")
        //        return Enum_ColumnType.Date;
        //    return Enum_ColumnType.None;
        //}
        //private string ConvertParameterResultType(Enum_ColumnType resultType)
        //{
        //    return resultType.ToString();
        //}

        public int UpdateFormula(FormulaDTO formula, LinearFormulaDTO linearFormula)
        {
            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                DataAccess.Formula dbFormula = null;
                if (formula.ID == 0)
                {
                    dbFormula = new Formula();
                }
                else
                {
                    dbFormula = projectContext.Formula.FirstOrDefault(x => x.ID == formula.ID);
                }

                dbFormula.Name = formula.Name;
                dbFormula.ID   = formula.ID;
                if (formula.EntityID != 0)
                {
                    dbFormula.TableDrivedEntityID = formula.EntityID;
                }
                else
                {
                    dbFormula.TableDrivedEntityID = null;
                }
                dbFormula.ResultType = formula.ResultType;

                //dbFormula.ValueCustomType = (Int16)Formula.ValueCustomType;
                dbFormula.Title = formula.Title;
                while (dbFormula.FormulaItems1.Any())
                {
                    projectContext.FormulaItems.Remove(dbFormula.FormulaItems1.First());
                }
                foreach (var formulaItem in formula.FormulaItems)
                {
                    var dbFormulaItem = ToFormualaItem(formulaItem, dbFormula);
                    dbFormula.FormulaItems1.Add(dbFormulaItem);
                }

                if (formula.FormulaType == FormulaType.Linear)
                {
                    if (dbFormula.LinearFormula == null)
                    {
                        dbFormula.LinearFormula = new LinearFormula();
                    }
                    dbFormula.LinearFormula.FormulaText = linearFormula.FormulaText;
                    dbFormula.LinearFormula.Version     = linearFormula.Version;
                }
                else
                {
                    if (dbFormula.LinearFormula != null)
                    {
                        projectContext.LinearFormula.Remove(dbFormula.LinearFormula);
                    }
                }
                if (formula.FormulaType == FormulaType.CodeFunctionEntity)
                {
                    dbFormula.CodeFunction_TableDrivedEntityID = formula.CodeFunctionEntityID;
                }
                else
                {
                    dbFormula.CodeFunction_TableDrivedEntityID = null;
                }
                if (formula.FormulaType == FormulaType.CodeFunction)
                {
                    dbFormula.CodeFunctionID = formula.CodeFunctionID;
                }
                else
                {
                    dbFormula.CodeFunctionID = null;
                }
                if (formula.FormulaType == FormulaType.DatabaseFunctionEntity)
                {
                    dbFormula.DatabaseFunction_TableDrivedEntityID = formula.DatabaseFunctionEntityID;
                }
                else
                {
                    dbFormula.DatabaseFunction_TableDrivedEntityID = null;
                }
                if (dbFormula.ID == 0)
                {
                    projectContext.Formula.Add(dbFormula);
                }
                projectContext.SaveChanges();
                return(dbFormula.ID);
            }
        }
コード例 #11
0
 private void btnNew_Click(object sender, RoutedEventArgs e)
 {
     Formula = new FormulaDTO();
     ShowFormula();
 }
コード例 #12
0
 private void GetFormula(int formulaID)
 {
     Formula = bizFormula.GetFormula(MyProjectManager.GetMyProjectManager.GetRequester(), formulaID, true);
     ShowFormula();
 }