public void GetColumnNamesTest() { var mapping = new EntityMapping<Foo>(null); mapping.Add("ID", f => f.ID, (f, n) => f.ID = n, true); mapping.Add("Name", f => f.Name, (f, n) => f.Name = n, false); Assert.Equal("Name", mapping.GetColumnNames().Skip(1).Single()); }
internal EntityMapping CreateMapping() { var entity = new EntityMapping { entityType = EntityType }; if (table == null) table = entity.entityType.GetAttribute<TableAttribute>(false); if (table != null) { entity.tableName = table.Name.IsNullOrEmpty() ? entity.entityType.Name : table.Name; entity.@readonly = table.Readonly; entity.schema = table.Schema; entity.databaseName = table.DatabaseName; entity.serverName = table.Server; } else entity.tableName = entity.entityType.Name; const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance; var allMembers = new Dictionary<MemberInfo, MemberMapping>(); foreach (var k in members.Keys) allMembers[k] = new MemberMapping(k, members[k], entity); var items = from m in entity.entityType .GetFields(bindingFlags) .Where(p => !members.ContainsKey(p)) .Where(p => !IgnoreMembers.Contains(p)) .Where(p => !p.HasAttribute<IgnoreAttribute>(true)) .Where(p => !p.Name.Contains("k__BackingField")) .Where(p => !p.IsInitOnly) .Cast<MemberInfo>() .Union(entity.entityType .GetProperties(bindingFlags) .Where(p => !members.ContainsKey(p)) .Where(p => !IgnoreMembers.Contains(p)) .Where(p => p.CanRead && p.CanWrite) .Where(p => !p.HasAttribute<IgnoreAttribute>(true)) .Cast<MemberInfo>() ).Distinct() let att = m.GetAttribute<MemberAttribute>(true) select new NLite.Data.Mapping.MemberMapping(m, att, entity); foreach (var item in items) allMembers[item.member] = item; entity.innerMappingMembers = allMembers.Values.ToArray(); return entity; }
/// <summary> /// Updates the mapping depending on user selection. /// </summary> /// <param name="mapping">The mapping to update.</param> public void UpdateMapping(EntityMapping mapping) { string value = AttributeDropDownList.SelectedValue; if (!String.IsNullOrEmpty(value)) { string[] tokens = value.Split('-'); if (tokens[0] == "Attribute" || tokens[0] == "RestrictedAttribute") { string attributeName = tokens[1]; EntityAttributeModel attributeModel = UserProfileModel.GetAttributeModel(attributeName); if (attributeModel != null) { mapping.Add(attributeModel, FieldInfo, FieldScope); } } } }
public void AddEntityMapping(EntityMapping entityMapping) { }
public static IFormattable TableAndColumn(string propertyName, EntityMapping entityMappingOverride = null) { Requires.NotNullOrEmpty(propertyName, nameof(propertyName)); return(new SqlParameterFormatter(SqlParameterElementType.TableAndColumn, propertyName, entityMappingOverride)); }
public static IFormattable Function(EntityMapping entityMappingOverride = null) { return(new SqlParameterFormatter(SqlParameterElementType.Function, null, entityMappingOverride)); }
internal static ISqlStatements <TEntity> GetSqlStatements <TEntity>(EntityMapping entityMapping = null) { return((ISqlStatements <TEntity>)GetEntityDescriptor <TEntity>().GetSqlStatements(entityMapping)); }
private void UpdateSome(PM_ALT_SCALE entity, DbTransaction transaction) { ArgumentValidator.CheckForNullArgument(entity, "entity"); ArgumentValidator.CheckForNullArgument(transaction, "transaction"); PersistentPM_ALT_SCALE PM_ALT_SCALEEntity = entity as PersistentPM_ALT_SCALE; StringBuilder sqlUpdateSome = new StringBuilder(); sqlUpdateSome.Append("UPDATE dbo.PM_ALT_SCALE SET "); PropertyInfo[] propertyInfos = PM_ALT_SCALEEntity.GetType().GetProperties(); Hashtable propertyValues = new System.Collections.Hashtable(); int columnCountForUpdate = 0; foreach (PropertyInfo propertyInfo in propertyInfos) { if (EntityMapping.ContainsProperty(propertyInfo.Name)) { object propertyValue = propertyInfo.GetValue(PM_ALT_SCALEEntity, null); ORProperty property = EntityMapping[propertyInfo.Name]; if (!property.IsPrimaryKey) { if (!PM_ALT_SCALEEntity.IsDefaultValue(propertyInfo.Name)) { propertyValues[propertyInfo.Name] = propertyValue; sqlUpdateSome.Append(" " + property.ColumnName + " = @" + property.ColumnName + ","); columnCountForUpdate++; } } else { propertyValues[propertyInfo.Name] = propertyValue; } } } if (columnCountForUpdate == 0) { return; } sqlUpdateSome.Remove(sqlUpdateSome.Length - 1, 1); sqlUpdateSome.Append(" WHERE 1 = 1 "); sqlUpdateSome.Append(" AND ScalePK = @ScalePK "); try { Database db = GetDatabaseInstance(); DbCommand dbCommand = db.GetSqlStringCommand(sqlUpdateSome.ToString()); foreach (DictionaryEntry de in propertyValues) { ORProperty property = EntityMapping[de.Key.ToString()]; db.AddInParameter(dbCommand, "@" + property.ColumnName, property.DatabaseType, de.Value); } int result = db.ExecuteNonQuery(dbCommand, transaction); if (result == 0) { throw new EntityNotFoundException(); } } catch (Exception ex) { ExceptionPolicy.HandleException(ex, ExceptionPolicy.DataAccessDefaultPolicy); } }
internal OracleLogicalDeleteCommandGenerator(EntityMapping entityMapping) : base(entityMapping) { }
public void BOSMOD(Entity.BillOfOutStorage bos, Entity.BusiLog bl, bool isHis) { ConnectionPool.IsCenter = false; using (SqlConnection conn = ConnectionPool.BorrowConnection()) { //conn.Open(); SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); Entity.OilStorage os = new OilStorage(bl.ToTable()); os.cnvcGoodsName = bos.cnvcGoodsName; os.cnvcGoodsType = bos.cnvcGoodsType; os = EntityMapping.Get(os, trans) as OilStorage; if (null == os) { throw new BusinessException(bexType.noobject, "库存获取错误"); } Guid gd = Guid.NewGuid(); //判断修改操作类型 改多为入库 改少为出库 Entity.BillOfOutStorage oldbos = new BillOfOutStorage(bos.GetOriginalValue()); string strOperType = ""; if (oldbos.cnnCount > bos.cnnCount) { strOperType = OutType.BOSIn; } else { strOperType = OutType.BOSOut; } //验收单 //bos.cnvcInType = strOperType; bos.cndOperDate = dtSysTime; if (isHis) { Entity.BillOfOutStorageHis boshis = new BillOfOutStorageHis(bos.GetOriginalValue()); EntityMapping.Delete(boshis, trans); //boshis.SynchronizeModifyValue(bos); EntityMapping.Create(bos, trans); } else { EntityMapping.Update(bos, trans); } if (bos.cnnCount != oldbos.cnnCount) { //库存日志 Entity.OilStorageLog ol = new OilStorageLog(bos.ToTable()); ol.cnvcDeptName = bl.cnvcDeptName; ol.cnvcOperType = strOperType; ol.cnnSerial = gd; ol.cnnLastCount = os.cnnStorageCount; ol.cnnInOutCount = oldbos.cnnCount - bos.cnnCount; //bos.cnnCount-oldbos.cnnCount; ol.cnnCurCount = os.cnnStorageCount + oldbos.cnnCount - bos.cnnCount; EntityMapping.Create(ol, trans); //库存 os.cnnStorageCount = ol.cnnCurCount; EntityMapping.Update(os, trans); } //日志 bl.cnnSerial = gd; bl.cnvcComments = "出库单修改,出入库量:" + (oldbos.cnnCount - bos.cnnCount); //(bos.cnnCount-oldbos.cnnCount); bl.cnvcOperType = OperType.OP202; bl.cndOperDate = dtSysTime; bl.cnvcSource = InSource.cs; EntityMapping.Create(bl, trans); trans.Commit(); } catch (BusinessException bex) { trans.Rollback(); LogAdapter.WriteBusinessException(bex); throw bex; } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
public static int UpdateDept(SqlTransaction trans, Dept dept) { return(EntityMapping.Update(dept, trans)); }
private EntityMapping GetTargetMapping() { EntityMapping mapping = new EntityMapping(); foreach (CMSModules_SocialMedia_Controls_Facebook_MappingEditorItem control in MappingEditorItems) { control.UpdateMapping(mapping); } return mapping; }
/// <summary> /// Creates and initializes a new instance of the Panel class with the specified Data.com contact mapping, and returns it. /// </summary> /// <param name="formInfo">The CMS contact form info.</param> /// <param name="entityInfo">The Data.com contact entity info.</param> /// <param name="mapping">The Data.com contact mapping.</param> /// <returns>A new instance of the Panel class initialized with the specified Data.com contact mapping.</returns> private Panel CreateMappingPanel(FormInfo formInfo, EntityInfo entityInfo, EntityMapping mapping) { Panel mappingPanel = new Panel { CssClass = "mapping"}; HtmlTable mappingTable = new HtmlTable(); mappingTable.Controls.Add(CreateHeaderPanel()); mappingPanel.Controls.Add(mappingTable); foreach (IDataDefinitionItem formItem in formInfo.ItemsList) { FormFieldInfo formField = formItem as FormFieldInfo; if (formField != null) { EntityMappingItem mappingItem = mapping.GetItem(formField.Name); if (mappingItem != null) { EntityAttributeInfo entityAttribute = entityInfo.GetAttributeInfo(mappingItem.EntityAttributeName); if (entityAttribute != null) { HtmlTableRow row = new HtmlTableRow(); mappingTable.Controls.Add(row); HtmlTableCell formFieldCell = new HtmlTableCell(); formFieldCell.Controls.Add(new Literal { Text = ResHelper.LocalizeString(formField.GetDisplayName(MacroContext.CurrentResolver)) }); HtmlTableCell entityAttributeCell = new HtmlTableCell(); entityAttributeCell.Controls.Add(new Literal { Text = ResHelper.LocalizeString(entityAttribute.DisplayName) }); row.Controls.Add(formFieldCell); row.Controls.Add(entityAttributeCell); } } } } return mappingPanel; }
/// <summary> /// Creates and initializes a new instance of the HtmlTable class with the specified Data.com company mapping, and returns it. /// </summary> /// <param name="formInfo">The CMS account form info.</param> /// <param name="entityInfo">The Data.com company entity info.</param> /// <param name="mapping">The Data.com company mapping.</param> /// <returns>A new instance of the HtmlTable class initialized with the specified Data.com company mapping.</returns> private HtmlTable CreateTable(FormInfo formInfo, EntityInfo entityInfo, EntityMapping mapping) { HtmlTable table = new HtmlTable(); table.Rows.Add(CreateHeaderRow()); foreach (IFormItem formItem in formInfo.ItemsList) { FormFieldInfo formField = formItem as FormFieldInfo; if (formField != null) { EntityMappingItem mappingItem = mapping.GetItem(formField.Name); if (mappingItem != null) { EntityAttributeInfo entityAttribute = entityInfo.GetAttributeInfo(mappingItem.EntityAttributeName); if (entityAttribute != null) { HtmlTableRow row = new HtmlTableRow(); table.Rows.Add(row); HtmlTableCell formFieldCell = new HtmlTableCell(); row.Cells.Add(formFieldCell); formFieldCell.InnerText = ResHelper.LocalizeString(formField.Caption); HtmlTableCell entityAttributeCell = new HtmlTableCell(); row.Cells.Add(entityAttributeCell); entityAttributeCell.InnerText = ResHelper.LocalizeString(entityAttribute.DisplayName); if (!Enabled) { formFieldCell.Style.Add("color", "#888888"); entityAttributeCell.Style.Add("color", "#888888"); } } } } } return table; }
internal OracleUpdateCommandGenerator(EntityMapping entityMapping, QueryMapping queryMapping) : base(entityMapping, queryMapping) { }
public EntitiesController(EntityMapping entityMapping) { _entityMapping = entityMapping; }
internal abstract LogicalDeleteCommandGenerator CreateLogicalDeleteCommandGenerator(EntityMapping entityMapping);
public WriterProvider(TodoListContext context, IDateTimeWrapper dateTimeWrapper) { _context = context; _mapperConfig = EntityMapping.GetMapperConfig(); _dateTimeWrapper = dateTimeWrapper; }
/// <summary> /// Creates a mapping of CMS contact (or account) fields and Data.com contact (or company) attributes from the current form state, and returns it. /// </summary> /// <returns>A mapping of CMS contact (or account) fields and Data.com contact (or company) attributes.</returns> private EntityMapping CreateEntityMappingFromForm() { EntityMapping mapping = new EntityMapping(); foreach (FormFieldInfo fieldInfo in mContext.FormInfo.GetFields(true, false)) { DropDownList dropDownList = mAttributeNamesDropDownLists[fieldInfo.Name]; if (dropDownList.SelectedIndex != 0) { EntityAttributeInfo attributeInfo = mContext.EntityInfo.GetAttributeInfo(dropDownList.SelectedValue); if (attributeInfo != null) { mapping.Add(attributeInfo, fieldInfo); } } } return mapping; }
public EntityReader(IMongoDbConnection connection) { Connection = connection ?? throw new ArgumentNullException(nameof(connection)); EntityDefinition = EntityMapping.GetOrCreateDefinition(typeof(TEntity)); }
public void AssignOut(string strProduceSerialNo, OperLog operLog, string strWarehouse) { using (SqlConnection conn = ConnectionPool.BorrowConnection()) { //conn.Open(); SqlTransaction trans = conn.BeginTransaction(); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); string strsql1 = "SELECT * FROM tbProduceLog WHERE cnvcProduceState='6' and cnnProduceSerialNo=" + strProduceSerialNo; DataTable dtProduceLog = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql1); //rr.cndMakeDate = dtSysTime; //EntityMapping.Create(rr,trans); if (dtProduceLog.Rows.Count == 0) { throw new Exception("生产计划不在分货状态!"); } Entity.ProduceLog pl = new ProduceLog(dtProduceLog); string strsql2 = "select * from tbproducechecklog WHERE cnnAssignCount>0 and cnnproduceserialno=" + strProduceSerialNo; DataTable dtProduceCheckLog = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql2); if (dtProduceCheckLog.Rows.Count == 0) { throw new Exception("分货出库产品数量都为0"); } DataTable dtInv = SingleTableQuery.ExcuteQuery("tbInventory", trans); DataTable dtComputationUnit = SingleTableQuery.ExcuteQuery("tbComputationUnit", trans); string strsql3 = "select * from tbassignlog where cnnproduceserialno=" + strProduceSerialNo; DataTable dtAssignLog = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql3); if (dtAssignLog.Rows.Count == 0) { throw new Exception("未找到分货流水"); } Entity.AssignLog al = new AssignLog(dtAssignLog); Entity.RdRecord rr = new RdRecord(); rr.cnvcRdCode = "RD010"; rr.cnvcRdFlag = "0"; rr.cnvcWhCode = strWarehouse; rr.cnvcDepID = pl.cnvcProduceDeptID; //rr.cnvcOperName = operLog.cnvcop rr.cnvcComments = "分货出库"; rr.cnvcMaker = operLog.cnvcOperID; rr.cnnProorderID = pl.cnnProduceSerialNo; rr.cnvcState = "2"; rr.cndMakeDate = dtSysTime; long rrid = EntityMapping.Create(rr, trans); foreach (DataRow drProduceCheckLog in dtProduceCheckLog.Rows) { Entity.ProduceCheckLog pcl = new ProduceCheckLog(drProduceCheckLog); Entity.RdRecordDetail rrd = new RdRecordDetail(); rrd.cnvcFlag = "0"; rrd.cndExpDate = pcl.cndExpDate; //Convert.ToDateTime(this.txtProduceDate.Text).AddDays(pc.cnnDays).AddDays(Convert.ToDouble(txtDays.Text));//Convert.ToDateTime(this.txtExpDate.Text); rrd.cndMdate = pcl.cndMDate; //Convert.ToDateTime(this.txtProduceDate.Text); rrd.cnnRdID = Convert.ToDecimal(rrid); rrd.cnvcPOID = al.cnnAssignSerialNo.ToString(); DataRow[] drinvs = dtInv.Select("cnvcInvCode='" + pcl.cnvcInvCode + "'"); if (drinvs.Length == 0) { throw new Exception(pcl.cnvcInvCode + "存货档案未设置"); } Entity.Inventory inv = new AMSApp.zhenghua.Entity.Inventory(drinvs[0]); rrd.cnvcInvCode = inv.cnvcInvCode; rrd.cnvcGroupCode = inv.cnvcGroupCode; rrd.cnvcComunitCode = inv.cnvcSTComUnitCode; DataRow[] drcus = dtComputationUnit.Select("cnvcGroupCode='" + inv.cnvcGroupCode + "' and cnbMainUnit=1"); if (drcus.Length == 0) { throw new Exception(inv.cnvcGroupCode + "未设置主计量单位"); } decimal dchangerate = Convert.ToDecimal(drcus[0]["cnichangrate"].ToString()); DataRow[] drcus1 = dtComputationUnit.Select("cnvcGroupCode='" + inv.cnvcGroupCode + "' and cnvcComUnitCode='" + inv.cnvcSTComUnitCode + "'"); decimal dchangerate_st = Convert.ToDecimal(drcus1[0]["cnichangrate"].ToString()); // string strcssql = "SELECT * FROM tbCurrentStock WHERE cnvcWhCode='"+strWarehouse+"' AND cnvcInvCode='"+pcl.cnvcInvCode+"'"; // DataTable dtcs = SqlHelper.ExecuteDataTable(trans,CommandType.Text,strcssql); string strcssql = "SELECT * FROM tbCurrentStock WHERE cnvcWhCode='" + strWarehouse + "' AND cnvcInvCode='" + pcl.cnvcInvCode + "'" + " and CONVERT(char(10),isnull(cndExpDate,''),121)>=CONVERT(char(10),getdate(),121) "; string strcssql2 = "SELECT isnull(sum(cnnAvaQuantity),0) FROM tbCurrentStock WHERE cnvcWhCode='" + strWarehouse + "' AND cnvcInvCode='" + pcl.cnvcInvCode + "'" + " and CONVERT(char(10),isnull(cndExpDate,''),121)>=CONVERT(char(10),getdate(),121) "; DataTable dtcs = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strcssql); decimal davaquantity = Convert.ToDecimal(SqlHelper.ExecuteScalar(trans, CommandType.Text, strcssql2).ToString()); if (dtcs.Rows.Count == 0) { throw new Exception(pcl.cnvcInvCode + "无库存"); } if (davaquantity - pcl.cnnAssignCount * dchangerate_st / dchangerate < 0) { throw new Exception(pcl.cnvcInvCode + "库存不足"); } // if(cs.cnnAvaQuantity - pcl.cnnAssignCount<0) // throw new Exception(pcl.cnvcInvCode+"库存不足"); decimal dhave = 0; foreach (DataRow drcs in dtcs.Rows) { Entity.CurrentStock cs = new CurrentStock(drcs); // if(cs.cnnAvaQuantity - pcl.cnnAssignCount<0) // throw new Exception(pcl.cnvcInvCode+"库存不足"); // cs.cnnAvaQuantity = cs.cnnAvaQuantity - pcl.cnnAssignCount; // cs.cnnQuantity = cs.cnnQuantity - pcl.cnnAssignCount; // EntityMapping.Update(cs,trans); if (cs.cnnAvaQuantity > pcl.cnnAssignCount * dchangerate_st / dchangerate - dhave) { cs.cnnAvaQuantity = cs.cnnAvaQuantity - pcl.cnnAssignCount * dchangerate_st / dchangerate; cs.cnnQuantity = cs.cnnQuantity - pcl.cnnAssignCount * dchangerate_st / dchangerate; EntityMapping.Update(cs, trans); break; } else { cs.cnnAvaQuantity = 0; cs.cnnQuantity = 0; EntityMapping.Update(cs, trans); dhave += cs.cnnAvaQuantity; } } rrd.cnnQuantity = pcl.cnnAssignCount * dchangerate_st / dchangerate; EntityMapping.Create(rrd, trans); } //string strsql = "update tbMakeDetail set cnbCollar=1 where cnnMakeSerialNo="+strMakeSerialNo; //SqlHelper.ExecuteNonQuery(trans,CommandType.Text,strsql); string strsql4 = "update tbproducelog set cnvcproducestate='7' where cnnproduceserialno=" + strProduceSerialNo; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strsql4); operLog.cndOperDate = dtSysTime; operLog.cnvcComments = "生产流水:" + strProduceSerialNo; EntityMapping.Create(operLog, trans); trans.Commit(); } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
public EntityIndexWriter(IMongoDbConnection connection) { Connection = connection; EntityDefinition = EntityMapping.GetOrCreateDefinition(typeof(TEntity)); }
public IEnumerable <WriteModel <TEntity> > GetModel() { var definition = EntityMapping.GetOrCreateDefinition(typeof(TEntity)); yield return(new DeleteOneModel <TEntity>(definition.CreateIdFilterFromEntity(EntityEntry.Entity))); }
public static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Handlers.UnhandledExceptionHandler); // check number of command line parameters if (args.Length < 4) { Usage("Not enough arguments."); } // read command line parameters RecommenderParameters parameters = null; try { parameters = new RecommenderParameters(args, 4); } catch (ArgumentException e) { Usage(e.Message); } // other parameters string data_dir = parameters.GetRemoveString("data_dir"); //Console.Error.WriteLine("data_dir " + data_dir); string item_attributes_file = parameters.GetRemoveString("item_attributes"); string user_attributes_file = parameters.GetRemoveString("user_attributes"); //string save_mapping_file = parameters.GetRemoveString( "save_model"); int random_seed = parameters.GetRemoveInt32("random_seed", -1); bool no_eval = parameters.GetRemoveBool("no_eval", false); bool compute_fit = parameters.GetRemoveBool("compute_fit", false); string prediction_file = parameters.GetRemoveString("prediction_file"); if (random_seed != -1) { MyMediaLite.Util.Random.InitInstance(random_seed); } // main data files and method string trainfile = args[0].Equals("-") ? "-" : Path.Combine(data_dir, args[0]); string testfile = args[1].Equals("-") ? "-" : Path.Combine(data_dir, args[1]); string load_model_file = args[2]; string method = args[3]; // set correct recommender switch (method) { case "MF-ItemMapping": recommender = Recommender.Configure(mf_map, parameters, Usage); break; // case "MF-ItemMapping-Optimal": // recommender = Recommender.Configure(mf_map_opt, parameters, Usage); // break; // case "BPR-MF-ItemMapping-kNN": // recommender = Recommender.Configure(mf_map_knn, parameters, Usage); // break; // case "BPR-MF-ItemMapping-SVR": // recommender = Recommender.Configure(mf_map_svr, parameters, Usage); // break; default: Usage(string.Format("Unknown method: '{0}'", method)); break; } if (parameters.CheckForLeftovers()) { Usage(-1); } // TODO move loading into its own method // ID mapping objects EntityMapping user_mapping = new EntityMapping(); EntityMapping item_mapping = new EntityMapping(); // training data training_data = MyMediaLite.IO.RatingPrediction.Read(Path.Combine(data_dir, trainfile), user_mapping, item_mapping); recommender.Ratings = training_data; // user attributes if (recommender is IUserAttributeAwareRecommender) { if (user_attributes_file.Equals(string.Empty)) { Usage("Recommender expects user_attributes=FILE."); } else { ((IUserAttributeAwareRecommender)recommender).UserAttributes = AttributeData.Read(Path.Combine(data_dir, user_attributes_file), user_mapping); } } // item attributes if (recommender is IItemAttributeAwareRecommender) { if (item_attributes_file.Equals(string.Empty)) { Usage("Recommender expects item_attributes=FILE."); } else { ((IItemAttributeAwareRecommender)recommender).ItemAttributes = AttributeData.Read(Path.Combine(data_dir, item_attributes_file), item_mapping); } } // test data test_data = MyMediaLite.IO.RatingPrediction.Read(Path.Combine(data_dir, testfile), user_mapping, item_mapping); TimeSpan seconds; Recommender.LoadModel(recommender, load_model_file); // set the maximum user and item IDs in the recommender - this is important for the cold start use case recommender.MaxUserID = user_mapping.InternalIDs.Max(); recommender.MaxItemID = item_mapping.InternalIDs.Max(); Console.Error.WriteLine(string.Format(CultureInfo.InvariantCulture, "ratings range: [{0}, {1}]", recommender.MinRating, recommender.MaxRating)); DisplayDataStats(); Console.Write(recommender.ToString() + " "); if (compute_fit) { seconds = Utils.MeasureTime(delegate() { int num_iter = recommender.NumIterMapping; recommender.NumIterMapping = 0; recommender.LearnAttributeToFactorMapping(); Console.Error.WriteLine(); Console.Error.WriteLine(string.Format(CultureInfo.InvariantCulture, "iteration {0} fit {1}", -1, recommender.ComputeFit())); recommender.NumIterMapping = 1; for (int i = 0; i < num_iter; i++, i++) { recommender.IterateMapping(); Console.Error.WriteLine(string.Format(CultureInfo.InvariantCulture, "iteration {0} fit {1}", i, recommender.ComputeFit())); } recommender.NumIterMapping = num_iter; // restore }); } else { seconds = Utils.MeasureTime(delegate() { recommender.LearnAttributeToFactorMapping(); }); } Console.Write("mapping_time " + seconds + " "); if (!no_eval) { seconds = EvaluateRecommender(recommender); } Console.WriteLine(); if (prediction_file != string.Empty) { Console.WriteLine(); seconds = Utils.MeasureTime( delegate() { Prediction.WritePredictions(recommender, test_data, user_mapping, item_mapping, prediction_file); } ); Console.Error.WriteLine("predicting_time " + seconds); } }
public static ISqlBuilder GetSqlBuilder <TEntity>(EntityMapping <TEntity> entityMapping = null) { return(GetEntityDescriptor <TEntity>().GetSqlStatements(entityMapping).SqlBuilder); }
public override bool Validate(IEntityMovement movement, IMapCollisionDetection seer, HexCoordinates origin, EntityMapping entityMap, TileListBase tileMap) { HexCoordinates CheckSpace = ClearSpace + origin; return((int)seer.NodeStatus(entityMap, tileMap, CheckSpace, movement) >= (int)MinimumClarity); }
public static IFormattable Table <TEntity>(EntityMapping entityMappingOverride = null) { return(new SqlEntityFormattableParameter <TEntity>(SqlParameterElementType.Table, null, entityMappingOverride)); }
public List <UserUI> GetUserInfoById(int Id) { return(EntityMapping.Auto <List <User>, List <UserUI> >(LoginContext.GetUserInfoById(Id))); }
/// <summary> /// Overrides the entity mapping for the current statement. /// </summary> public TStatementOptionsBuilder WithEntityMappingOverride(EntityMapping entityMapping) { this.EntityMappingOverride = entityMapping; return(this.Builder); }
public UserUI GetUserInfoByNo(string No) { return(EntityMapping.Auto <User, UserUI>(LoginContext.FirstOrDefault(x => x.UserNo == No))); }
/// <summary> /// 根据录屏结果生成实体及映射 /// </summary> /// <param name="categoryID">分类ID</param> /// <param name="recordCollection">录屏集合</param> public string RecordResultGenerate(string categoryID, RecordResultCollection recordCollection) { categoryID.CheckStringIsNullOrEmpty <ArgumentNullException>("categoryID"); recordCollection.NullCheck <ArgumentNullException>("录屏集合不能为空!"); string masterEntityID = string.Empty; #region 验证 //只验证主表,子表可以为空 recordCollection.Any().FalseThrow("没有找到信息项,请重新填写!"); //验证CodeName唯一性 recordCollection.Select(p => p.EntityName).Distinct().ForEach(p => DESchemaObjectAdapter.Instance.CheckCodeNameExist(categoryID, p).TrueThrow(string.Format("已存在同名[{0}]", p))); #endregion List <string> listFullName = recordCollection.Select(p => p.TempFullPath).Distinct().ToList(); //按长度倒序排序,确保从最子级节点开始添加实体 listFullName = listFullName.OrderByDescending(p => p.Split('/').Length).ToList(); using (TransactionScope scope = TransactionScopeFactory.Create()) { listFullName.ForEach(fullName => { //准备数据 var entityRecordList = recordCollection.Where(r => r.TempFullPath.Equals(fullName)); var entityResultColl = new RecordResultCollection(); entityResultColl.CopyFrom(entityRecordList); //实体入库 var childEntity = entityResultColl.BuildEntity(categoryID); DEObjectOperations.InstanceWithoutPermissions.DoOperation(SCObjectOperationMode.Add, childEntity, null); //为父实体指定“引用实体”属性值 if (fullName.Contains("/")) { string parentFullName = fullName.Substring(0, fullName.LastIndexOf("/")); string parentFieldName = fullName.Replace(parentFullName + "/", ""); recordCollection.First(pe => pe.TempFullPath.Equals(parentFullName) && pe.FieldName.Equals(parentFieldName)).ReferenceEntityCodeName = childEntity.CodeName; } //映射入库 EntityMapping childMapping = BuildEntityMapping(childEntity); DEObjectOperations.InstanceWithoutPermissions.AddEntityMapping(childMapping); //最后一个被添加的实体为主实体 masterEntityID = childEntity.ID; }); scope.Complete(); #region 以前方法,先注释掉 /////////////////////////////////////////////////////////////////////////////////////// //#region 实体定义 ////先入子表 //recordCollection.Where(p => !p.IsMasterTable).GroupBy(p => p.EntityName).ToList().ForEach(p => //{ // RecordResultCollection child = new RecordResultCollection(); // child.CopyFrom(p.ToList()); // var childEntity = child.BuildEntity(categoryID); // DEObjectOperations.InstanceWithoutPermissions.DoOperation(SCObjectOperationMode.Add, childEntity, null); // //添加子类引用 // recordCollection.Add(new Dynamics.Objects.RecordResult() // { // EntityName = recordCollection.FirstOrDefault(m => m.IsMasterTable).EntityName, // EntityDesc = recordCollection.FirstOrDefault(m => m.IsMasterTable).EntityName, // IsMasterTable = true, // FieldName = p.Key, // FieldType = FieldTypeEnum.Collection, // ReferenceEntityCodeName = childEntity.CodeName, // FieldDesc = p.Key, // FieldLength = 99999, // SortNo = recordCollection.Count(m => m.IsMasterTable) + 1, // IsStruct = p.All(f => f.EntityDesc == "STRUCTURE") // }); //}); //// 主表 //RecordResultCollection master = new RecordResultCollection(); //master.CopyFrom(recordCollection.Where(p => p.IsMasterTable).ToList()); //var masterEntity = master.BuildEntity(categoryID); //DEObjectOperations.InstanceWithoutPermissions.DoOperation(SCObjectOperationMode.Add, masterEntity, null); //#endregion //// 主表映射 //EntityMapping masterMapping = BuildEntityMapping(masterEntity); //DEObjectOperations.InstanceWithoutPermissions.AddEntityMapping(masterMapping); ////子表映射 //masterEntity.Fields.Where(p => p.FieldType == FieldTypeEnum.Collection).ForEach(f => //{ // DynamicEntity childEntity = DEDynamicEntityAdapter.Instance.LoadByCodeName(f.ReferenceEntityCodeName) as DynamicEntity; // EntityMapping childMapping = BuildEntityMapping(childEntity); // DEObjectOperations.InstanceWithoutPermissions.AddEntityMapping(childMapping); //}); //masterEntityID = masterEntity.ID; //scope.Complete(); #endregion } return(masterEntityID); }
public void AddAssignLog(ProduceLog produceLog, OperLog operLog, string strwhhouse) //,BusiLog busiLog) { using (SqlConnection conn = ConnectionPool.BorrowConnection()) { SqlTransaction trans = conn.BeginTransaction(); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); OrderSerialNo serialNo = new OrderSerialNo(); serialNo.cnvcFill = "0"; serialNo.cnnSerialNo = Convert.ToDecimal(EntityMapping.Create(serialNo, trans)); ProduceLog oldLog = new ProduceLog(); oldLog.cnnProduceSerialNo = produceLog.cnnProduceSerialNo; oldLog = EntityMapping.Get(oldLog, trans) as ProduceLog; if (oldLog == null) { throw new Exception("生产计划不存在"); } if (oldLog.cnvcProduceState == "6") { throw new Exception("已分货"); } if (oldLog.cnvcProduceState == "7") { throw new Exception("已分货出库"); } oldLog.cnvcOperID = produceLog.cnvcOperID; oldLog.cndOperDate = dtSysTime; AssignLog assign = new AssignLog(); assign.cndOperDate = dtSysTime; assign.cnnAssignSerialNo = serialNo.cnnSerialNo; assign.cnnProduceSerialNo = oldLog.cnnProduceSerialNo; assign.cnvcShipOperID = produceLog.cnvcOperID; assign.cnvcShipDeptID = oldLog.cnvcProduceDeptID; assign.cnvcOperID = produceLog.cnvcOperID; assign.cndShipDate = oldLog.cndProduceDate; //订单数据 string strOrderSql = @"select * from tbOrderBook where cnnOrderSerialNo in (select cnnOrderSerialNo from tbProduceOrderLog where cnnProduceSerialNo=" + oldLog.cnnProduceSerialNo.ToString() + ")"; DataTable dtOrder = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strOrderSql); string strOrderDetailSql = @"select * from tbOrderBookDetail where cnnOrderSerialNo in (select cnnOrderSerialNo from tbProduceOrderLog where cnnProduceSerialNo=" + oldLog.cnnProduceSerialNo.ToString() + ")"; DataTable dtOrderDetail = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strOrderDetailSql); DataTable dtDept = SingleTableQuery.ExcuteQuery("tbDept", trans); //生产盘点数据 string strCheckSql = "select * " + " from tbProduceCheckLog where cnnProduceSerialNo=" + oldLog.cnnProduceSerialNo.ToString() + " and cnnCheckCount>0 and cnbInWh=1"; DataTable dtProduce = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strCheckSql); #region 分货不按可用量分 string strwhsql = "SELECT cnvcinvcode,sum(cnnAvaQuantity) as cnnwhcount FROM tbCurrentStock " + " WHERE cnvcwhcode='" + strwhhouse + "' AND cnvcStopFlag='0' and CONVERT(char(10),isnull(cndExpDate,''),121)>=CONVERT(char(10),getdate(),121) " + " group by cnvcinvcode"; DataTable dtwh = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strwhsql); Helper.DataTableConvert(dtProduce, "cnvcInvCode", "cnnCheckCount", dtwh, "cnvcinvcode", "cnnwhcount", ""); #endregion //订单按产品分类汇总 //分配 外订订单有限分配 Helper.DataTableConvert(dtOrderDetail, "cnnOrderSerialNo", "cnvcOrderType", dtOrder, "cnnOrderSerialNo", "cnvcOrderType", ""); Helper.DataTableConvert(dtOrderDetail, "cnnOrderSerialNo", "cnvcOrderDeptID", dtOrder, "cnnOrderSerialNo", "cnvcOrderDeptID", ""); Helper.DataTableConvert(dtOrderDetail, "cnnOrderSerialNo", "cndShipDate", dtOrder, "cnnOrderSerialNo", "cndShipDate", ""); Helper.DataTableConvert(dtOrderDetail, "cnvcOrderDeptID", "cnnPriority", dtDept, "cnvcDeptID", "cnnPriority", ""); // dtOrderDetail.Columns.Add("cnnAssignCount"); foreach (DataRow dr in dtOrderDetail.Rows) { dr["cnnAssignCount"] = 0; } DataView dvOrder = new DataView(dtOrderDetail); dvOrder.Sort = "cnvcOrderType desc,cnnPriority asc,cnnOrderSerialNo asc"; Hashtable hOrderSerialNo = new Hashtable(); foreach (DataRowView dv in dvOrder) { string strOrderSerialNo = dv["cnnOrderSerialNo"].ToString(); string strProductCode = dv["cnvcInvCode"].ToString(); string strOrderCount = dv["cnnOrderCount"].ToString(); string strAssignCount = dv["cnnAssignCount"].ToString(); decimal dOrderCount = decimal.Parse(strOrderCount); decimal dAssignCount = Convert.ToDecimal(strAssignCount); string strOrderType = dv["cnvcOrderType"].ToString(); DataRow[] drProduces = dtProduce.Select("cnvcInvCode='" + strProductCode + "'"); if (drProduces.Length == 0) { continue; //throw new Exception(strProductCode+"无可分货量"); } // if(drProduces.Length > 0) // { DateTime dtMDate = Convert.ToDateTime(drProduces[0]["cndMDate"].ToString()); DateTime dtExpDate = Convert.ToDateTime(drProduces[0]["cndExpDate"].ToString()); string strSumCount = drProduces[0]["cnnCheckCount"].ToString(); decimal dSumCount = decimal.Parse(strSumCount); string strSumAssign = drProduces[0]["cnnAssignCount"].ToString(); decimal dSumAssign = decimal.Parse(strSumAssign); //if(dSumCount <=0) throw new Exception(strProductCode+"无可分货量"); // if(dSumCount > 0) // { AssignDetail assignDetail = new AssignDetail(); assignDetail.cnnAssignSerialNo = assign.cnnAssignSerialNo; assignDetail.cnnProduceSerialNo = assign.cnnProduceSerialNo; assignDetail.cnnOrderSerialNo = decimal.Parse(strOrderSerialNo); assignDetail.cnvcInvCode = strProductCode; assignDetail.cndMdate = dtMDate; assignDetail.cndExpDate = dtExpDate; if (dSumCount >= dOrderCount - dAssignCount) { assignDetail.cnnOrderCount = dOrderCount; assignDetail.cnnAssignCount = dOrderCount - dAssignCount; drProduces[0]["cnnCheckCount"] = dSumCount - dOrderCount + dAssignCount; drProduces[0]["cnnAssignCount"] = dSumAssign + dOrderCount - dAssignCount; } else { if (strOrderType == "WDO" || strOrderType == "WDOSELF") { throw new Exception("订单流水为" + dv["cnnOrderSerialNo"].ToString() + "的外订定单" + strProductCode + "不能满足分配"); } assignDetail.cnnOrderCount = dOrderCount; assignDetail.cnnAssignCount = dSumCount; drProduces[0]["cnnCheckCount"] = 0; drProduces[0]["cnnAssignCount"] = dSumAssign + dSumCount; } EntityMapping.Create(assignDetail, trans); if (!hOrderSerialNo.Contains(dv["cnnOrderSerialNo"].ToString())) { hOrderSerialNo.Add(dv["cnnOrderSerialNo"].ToString(), dv["cnnOrderSerialNo"].ToString()); assign.cnnOrderSerialNo = decimal.Parse(dv["cnnOrderSerialNo"].ToString()); assign.cnvcReceiveDeptID = dv["cnvcOrderDeptID"].ToString(); assign.cndShipDate = DateTime.Parse(dv["cndShipDate"].ToString()); EntityMapping.Create(assign, trans); } // string strOrderBookDetail = "update tbOrderBookDetail set cnnAssignCount="+Convert.ToString(assignDetail.cnnAssignCount+dAssignCount)+" where cnnOrderSerialNo="+strOrderSerialNo+" and cnvcProductCode='"+strProductCode+"'"; // SqlHelper.ExecuteNonQuery(trans,CommandType.Text,strOrderBookDetail); // } // } } foreach (DataRow drProduce in dtProduce.Rows) { ProduceCheckLog check = new ProduceCheckLog(drProduce); string strSql = "update tbProduceCheckLog set cnnAssignCount=" + check.cnnAssignCount.ToString() + " where cnnProduceSerialNo=" + check.cnnProduceSerialNo.ToString() + " and cnvcInvCode='" + check.cnvcInvCode + "'"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql); } //更新订单生产计划状态 string strUpdateOrder = "update tbOrderBook set cnvcOrderState='2' " + " where cnnOrderSerialNo in (select cnnOrderSerialNo from tbProduceOrderLog where cnvcType='0' and cnnProduceSerialNo=" + oldLog.cnnProduceSerialNo + ") "; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strUpdateOrder); //更新生产计划状态 oldLog.cnvcProduceState = "6"; EntityMapping.Update(oldLog, trans); operLog.cndOperDate = dtSysTime; operLog.cnvcComments = "分货流水:" + produceLog.cnnProduceSerialNo.ToString(); EntityMapping.Create(operLog, trans); trans.Commit(); } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
internal abstract UpdateCommandGenerator CreateUpdateCommandGenerator(EntityMapping entityMapping, QueryMapping queryMapping);
//入库 public void ProduceCheck(DataTable dtProduce, OperLog operLog, string strProduceDeptID, string strProduceSerialNo) { using (SqlConnection conn = ConnectionPool.BorrowConnection()) { //conn.Open(); SqlTransaction trans = conn.BeginTransaction(); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); string strComments = ""; foreach (DataRow drProduce in dtProduce.Rows) { ProduceCheckLog check = new ProduceCheckLog(drProduce); check.cnvcOperID = operLog.cnvcOperID; check.cnvcProduceDeptID = strProduceDeptID; check.cndOperDate = dtSysTime; ProduceCheckLog check2 = new ProduceCheckLog(); check2.cnnProduceSerialNo = check.cnnProduceSerialNo; check2.cnvcInvCode = check.cnvcInvCode; check2 = EntityMapping.Get(check2, trans) as ProduceCheckLog; if (check2 == null) { EntityMapping.Create(check, trans); } else { check2.cnnCheckCount = check.cnnCheckCount; check2.cnvcOperID = operLog.cnvcOperID; check2.cndOperDate = dtSysTime; check2.cnnTeamID = check.cnnTeamID; check2.cnnProducerID = check.cnnProducerID; EntityMapping.Update(check2, trans); } strComments += "[" + check.cnvcInvCode + ":" + check.cnnCheckCount.ToString() + "]"; } ProduceLog pl = new ProduceLog(); pl.cnnProduceSerialNo = decimal.Parse(strProduceSerialNo); pl = EntityMapping.Get(pl, trans) as ProduceLog; if (pl == null) { throw new Exception("生产数据异常"); } pl.cnvcProduceState = "4"; pl.cnvcOperID = operLog.cnvcOperID; pl.cndOperDate = dtSysTime; EntityMapping.Update(pl, trans); operLog.cndOperDate = dtSysTime; operLog.cnvcComments = "生产流水:" + strProduceSerialNo + strComments; EntityMapping.Create(operLog, trans); trans.Commit(); } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
internal override InsertCommandGenerator CreateInsertCommandGenerator(EntityMapping entityMapping) { return(new OracleInsertCommandGenerator(entityMapping)); }
public void DeleteAssignLog(ProduceLog produceLog, OperLog operLog) { using (SqlConnection conn = ConnectionPool.BorrowConnection()) { SqlTransaction trans = conn.BeginTransaction(); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); OrderSerialNo serialNo = new OrderSerialNo(); serialNo.cnvcFill = "0"; serialNo.cnnSerialNo = Convert.ToDecimal(EntityMapping.Create(serialNo, trans)); ProduceLog oldLog = new ProduceLog(); oldLog.cnnProduceSerialNo = produceLog.cnnProduceSerialNo; oldLog = EntityMapping.Get(oldLog, trans) as ProduceLog; if (oldLog == null) { throw new Exception("生产计划不存在"); } if (oldLog.cnvcProduceState != "6") { throw new Exception("生产计划不在已分货状态,不能清除分货数据"); } if (oldLog.cnvcProduceState == "7") { throw new Exception("已分货出库"); } oldLog.cnvcOperID = produceLog.cnvcOperID; oldLog.cndOperDate = dtSysTime; //清除分货数据 string strsql = "delete from tbassignlog where cnnproduceserialno=" + produceLog.cnnProduceSerialNo.ToString(); // DataTable dtal = SqlHelper.ExecuteDataTable(trans,CommandType.Text,strsql); // if(dtal.Rows.Count == 0) throw new Exception("未找到分货数据"); // Entity.AssignLog al = new AssignLog(dtal); // EntityMapping.Delete(al,trans); SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strsql); strsql = "delete from tbassigndetail where cnnproduceserialno=" + produceLog.cnnProduceSerialNo.ToString(); SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strsql); strsql = "update tbproducechecklog set cnnassigncount=0 where cnnproduceserialno=" + produceLog.cnnProduceSerialNo.ToString(); SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strsql); //更新订单生产计划状态 string strUpdateOrder = "update tbOrderBook set cnvcOrderState='1' " + " where cnnOrderSerialNo in (select cnnOrderSerialNo from tbProduceOrderLog where cnvcType='0' and cnnProduceSerialNo=" + oldLog.cnnProduceSerialNo + ") "; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strUpdateOrder); //更新生产计划状态 oldLog.cnvcProduceState = "5"; EntityMapping.Update(oldLog, trans); operLog.cndOperDate = dtSysTime; operLog.cnvcComments = "生产流水:" + produceLog.cnnProduceSerialNo.ToString(); EntityMapping.Create(operLog, trans); trans.Commit(); } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
/// <summary> /// Creates and initializes a new instance of the Panel class with the specified Data.com contact mapping, and returns it. /// </summary> /// <param name="formInfo">The CMS contact form info.</param> /// <param name="entityInfo">The Data.com contact entity info.</param> /// <param name="mapping">The Data.com contact mapping.</param> /// <returns>A new instance of the Panel class initialized with the specified Data.com contact mapping.</returns> private Panel CreateMappingPanel(FormInfo formInfo, EntityInfo entityInfo, EntityMapping mapping) { Panel mappingPanel = new Panel { CssClass = "mapping"}; mappingPanel.Controls.Add(CreateHeaderPanel()); foreach (IField formItem in formInfo.ItemsList) { FormFieldInfo formField = formItem as FormFieldInfo; if (formField != null) { EntityMappingItem mappingItem = mapping.GetItem(formField.Name); if (mappingItem != null) { EntityAttributeInfo entityAttribute = entityInfo.GetAttributeInfo(mappingItem.EntityAttributeName); if (entityAttribute != null) { Panel row = new Panel { CssClass = "control-group-inline" }; mappingPanel.Controls.Add(row); Panel formFieldPanel = new Panel { CssClass = "input-width-60 cms-form-group-text" }; row.Controls.Add(formFieldPanel); formFieldPanel.Controls.Add(new Literal { Text = ResHelper.LocalizeString(formField.GetDisplayName(MacroContext.CurrentResolver)) }); Panel entityAttributePanel = new Panel { CssClass = "input-width-60 cms-form-group-text" }; row.Controls.Add(entityAttributePanel); entityAttributePanel.Controls.Add(new Literal { Text = ResHelper.LocalizeString(entityAttribute.DisplayName) }); } } } } return mappingPanel; }
public void UpdateAssignLog(AssignDetail detail, OperLog operLog) { using (SqlConnection conn = ConnectionPool.BorrowConnection()) { SqlTransaction trans = conn.BeginTransaction(); try { string strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString(); DateTime dtSysTime = DateTime.Parse(strSysTime); Entity.ProduceCheckLog pcl = new ProduceCheckLog(); pcl.cnnProduceSerialNo = detail.cnnProduceSerialNo; pcl.cnvcInvCode = detail.cnvcInvCode; pcl = EntityMapping.Get(pcl, trans) as ProduceCheckLog; if (pcl == null) { throw new Exception("无法定位生产"); } AssignDetail detailOld = EntityMapping.Get(detail, trans) as AssignDetail; pcl.cnnAssignCount = pcl.cnnAssignCount + detail.cnnAssignCount - detailOld.cnnAssignCount; EntityMapping.Update(pcl, trans); // if(detail.cnnAssignCount != detailOld.cnnAssignCount) // { // OrderSerialNo serialNo = new OrderSerialNo(); // serialNo.cnvcFill = "0"; // serialNo.cnnSerialNo = Convert.ToDecimal(EntityMapping.Create(serialNo, trans)); string strComments = ""; detailOld.cnnAssignCount = detail.cnnAssignCount; EntityMapping.Update(detailOld, trans); strComments = "[" + detail.cnvcInvCode + ":" + detail.cnnAssignCount + "]"; //} operLog.cndOperDate = dtSysTime; operLog.cnvcComments = "分货流水:" + detail.cnnAssignSerialNo.ToString() + strComments; EntityMapping.Create(operLog, trans); trans.Commit(); } catch (SqlException sex) { trans.Rollback(); LogAdapter.WriteDatabaseException(sex); throw sex; } catch (Exception ex) { trans.Rollback(); LogAdapter.WriteFeaturesException(ex); throw ex; } finally { ConnectionPool.ReturnConnection(conn); } } }
private void RestoreParameters() { // Validate parameters if (!QueryHelper.ValidateHash("hash")) { throw new Exception("[DataComEditMappingPage.RestoreParameters]: Invalid query hash."); } Hashtable parameters = WindowHelper.GetItem(QueryHelper.GetString("pid", null)) as Hashtable; if (parameters == null) { throw new Exception("[DataComEditMappingPage.RestoreParameters]: The dialog page parameters are missing, the session might have been lost."); } // Restore parameters mEntityName = ValidationHelper.GetString(parameters["EntityName"], null); mSourceMappingHiddenFieldClientId = ValidationHelper.GetString(parameters["MappingHiddenFieldClientId"], null); mSourceMappingPanelClientId = ValidationHelper.GetString(parameters["MappingPanelClientId"], null); // Restore mapping string content = ValidationHelper.GetString(parameters["Mapping"], null); if (String.IsNullOrEmpty(content)) { mSourceMapping = new EntityMapping(); } else { EntityMappingSerializer serializer = new EntityMappingSerializer(); mSourceMapping = serializer.UnserializeEntityMapping(content); } }
public void Setup() { var authorMapping = new EntityMapping { EntityType = typeof(Author), PrimaryKey = new PrimaryKeyMapping { ColumnName = "Id", PropertyInfo = typeof(Author).GetProperty("Id") } }; authorMapping.AddColumn(new ColumnMapping { ColumnName = "FirstName", PropertyInfo = typeof(Author).GetProperty("FirstName") }); authorMapping.AddColumn(new ColumnMapping { ColumnName = "MiddleName", PropertyInfo = typeof(Author).GetProperty("MiddleName") }); authorMapping.AddColumn(new ColumnMapping { ColumnName = "LastName", PropertyInfo = typeof(Author).GetProperty("LastName") }); var bookMapping = new EntityMapping { EntityType = typeof(Book), PrimaryKey = new PrimaryKeyMapping { ColumnName = "Id", PropertyInfo = typeof(Book).GetProperty("Id") } }; bookMapping.AddColumn(new ColumnMapping { ColumnName = "Title", PropertyInfo = typeof(Book).GetProperty("Title") }); bookMapping.AddColumn(new ColumnMapping { ColumnName = "Description", PropertyInfo = typeof(Book).GetProperty("Description") }); bookMapping.AddRelation(new OneToOneRelationMapping { ColumnName = "AuthorId", PropertyInfo = typeof(Book).GetProperty("Author"), ReferenceType = typeof(Author) }); mappings = new Dictionary<string, EntityMapping> { {"Author", authorMapping}, {"Book", bookMapping} }; var metadataStoreMock = new Mock<IMetadataStore>(); var sessionMock = new Mock<ISession>(); var sessionLevelCacheMock = new Mock<ISessionLevelCache>(); metadataStoreMock.Setup(_ => _.GetMapping(It.IsAny<Type>())).Returns<Type>(_ => mappings[_.Name]); metadataStoreMock.Setup(_ => _.GetMapping(It.IsAny<string>())).Returns<string>(_ => mappings[_]); var cache = new Dictionary<Type, Dictionary<string, object>>(); sessionLevelCacheMock.Setup(_ => _.Store(It.IsAny<Type>(), It.IsAny<object>(), It.IsAny<object>())) .Callback<Type, object, object>((entityType, entityKey, entity) => { Dictionary<string, object> entityCache; if (!cache.TryGetValue(entityType, out entityCache)) { cache.Add(entityType, entityCache = new Dictionary<string, object>()); } entityCache.Add(entityKey.ToString(), entity); }); sessionLevelCacheMock.Setup(_ => _.TryToFind(It.IsAny<Type>(), It.IsAny<object>())) .Returns<Type, object>((entityType, entityKey) => { Dictionary<string, object> entityCache; if (!cache.TryGetValue(entityType, out entityCache)) { return null; } object entity; if (!entityCache.TryGetValue(entityKey.ToString(), out entity)) { return null; } return entity; }); hydrator = new EntityHydrator(metadataStoreMock.Object, sessionMock.Object, sessionLevelCacheMock.Object); connection = new SqlConnection(ConfigurationManager.ConnectionStrings["TestDatabase"].ConnectionString); connection.Open(); transaction = connection.BeginTransaction(); }