//public bool AddCodeFunctionToEntity(int codefuntionID, int entityID, bool showInFormula) //{ // using (var projectContext = new DataAccess.MyProjectEntities()) // { // var dbCodeFunctionEntity = projectContext.CodeFunction_TableDrivedEntity.FirstOrDefault(x => x.TableDrivedEntityID == entityID && x.CodeFunctionID == codefuntionID); // if (dbCodeFunctionEntity == null) // { // projectContext.CodeFunction_TableDrivedEntity.Add(new CodeFunction_TableDrivedEntity() { CodeFunctionID = codefuntionID, TableDrivedEntityID = entityID, ShowInFormula = showInFormula }); // } // else // { // dbCodeFunctionEntity.ShowInFormula = showInFormula; // } // projectContext.SaveChanges(); // } // return true; //} public int UpdateCodeFunctionEntity(CodeFunction_EntityDTO CodeFunctionEntity) { using (var projectContext = new DataAccess.MyProjectEntities()) { var dbCodeFunctionEntity = projectContext.CodeFunction_TableDrivedEntity.FirstOrDefault(x => x.ID == CodeFunctionEntity.ID); if (dbCodeFunctionEntity == null) { dbCodeFunctionEntity = new CodeFunction_TableDrivedEntity(); } dbCodeFunctionEntity.CodeFunctionID = CodeFunctionEntity.CodeFunctionID; dbCodeFunctionEntity.TableDrivedEntityID = CodeFunctionEntity.EntityID; dbCodeFunctionEntity.Title = CodeFunctionEntity.Title; dbCodeFunctionEntity.Name = CodeFunctionEntity.Name; while (dbCodeFunctionEntity.CodeFunction_TableDrivedEntity_Parameters.Any()) { projectContext.CodeFunction_TableDrivedEntity_Parameters.Remove(dbCodeFunctionEntity.CodeFunction_TableDrivedEntity_Parameters.First()); } //if (!CodeFunctionEntity.CodeFunctionEntityColumns.Any(x => x.ColumnID == 0)) //{ foreach (var column in CodeFunctionEntity.CodeFunctionEntityColumns) { CodeFunction_TableDrivedEntity_Parameters dbColumn = new DataAccess.CodeFunction_TableDrivedEntity_Parameters(); dbColumn.ColumnID = column.ColumnID; dbColumn.CodeFunctionParameterID = column.CodeFunctionParameterID; dbCodeFunctionEntity.CodeFunction_TableDrivedEntity_Parameters.Add(dbColumn); } //} if (dbCodeFunctionEntity.ID == 0) { projectContext.CodeFunction_TableDrivedEntity.Add(dbCodeFunctionEntity); } projectContext.SaveChanges(); return(dbCodeFunctionEntity.ID); } }
//public List<CodeFunction_EntityDTO> GetCodeFunctionEntities(int entityID) //{ // List<CodeFunction_EntityDTO> result = new List<CodeFunction_EntityDTO>(); // using (var projectContext = new DataAccess.MyProjectEntities()) // { // //projectContext.Configuration.LazyLoadingEnabled = false; // var listCodeFunction = projectContext.CodeFunction_TableDrivedEntity.Where(x => x.TableDrivedEntityID == entityID); // foreach (var item in listCodeFunction) // result.Add(ToCodeFunction_EntityDTO(item, false)); // } // return result; //} private CodeFunction_EntityDTO ToCodeFunction_EntityDTO(CodeFunction_TableDrivedEntity cItem, bool withColumns) { BizColumn bizColumn = new BizColumn(); var result = new CodeFunction_EntityDTO(); result.ID = cItem.ID; result.Title = cItem.Title; result.Name = cItem.Name; result.EntityID = cItem.TableDrivedEntityID; result.CodeFunctionID = cItem.CodeFunctionID; result.CodeFunction = ToCodeFunctionDTO(cItem.CodeFunction, withColumns); if (withColumns) { result.CodeFunctionEntityColumns = ToCodeFunctionEntityColumnsDTO(cItem); } return(result); }
//public int GetCodeFunctionEntityID(int entityID, int CodeFunctionID) //{ // List<CodeFunction_EntityDTO> result = new List<CodeFunction_EntityDTO>(); // using (var projectContext = new DataAccess.MyProjectEntities()) // { // //projectContext.Configuration.LazyLoadingEnabled = false; // var item = projectContext.CodeFunction_TableDrivedEntity.FirstOrDefault(x => x.TableDrivedEntityID == entityID && x.CodeFunctionID == CodeFunctionID); // if (item != null) // return item.ID; // else // return 0; // } //} private List <CodeFunction_Entity_ColumnDTO> ToCodeFunctionEntityColumnsDTO(CodeFunction_TableDrivedEntity cItem) { BizColumn bizColumn = new BizColumn(); List <CodeFunction_Entity_ColumnDTO> result = new List <CodeFunction_Entity_ColumnDTO>(); foreach (var column in cItem.CodeFunction_TableDrivedEntity_Parameters) { var item = new CodeFunction_Entity_ColumnDTO(); item.ID = column.ID; item.CodeFunctionParameterID = column.CodeFunctionParameterID; item.CodeFunction_EntityID = column.CodeFunction_TableDrivedEntityID; item.ColumnID = column.ColumnID; item.ColumnName = column.Column.Name; item.FunctionColumnDotNetType = Type.GetType(column.CodeFunctionParameter.DataType); item.FunctionColumnParamName = column.CodeFunctionParameter.ParamName; result.Add(item); } return(result); }