/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(StockOutEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into StockOut (" + "Email," + "UserId," + "Mobile," + "ProductId," + "OrderNum," + "InputTime," + "IP," + "EmailStatus," + "MobileStatus," + "Property) " + "values(" + "@Email," + "@UserId," + "@Mobile," + "@ProductId," + "@OrderNum," + "@InputTime," + "@IP," + "@EmailStatus," + "@MobileStatus," + "@Property)"; return(await Task.Run(() => _DB.ReturnID(strSQL, dict))); }
/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(StockOutEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into StockOut (" + "Email," + "UserId," + "Mobile," + "ProductId," + "OrderNum," + "InputTime," + "IP," + "EmailStatus," + "MobileStatus," + "Property) " + "values(" + "@Email," + "@UserId," + "@Mobile," + "@ProductId," + "@OrderNum," + "@InputTime," + "@IP," + "@EmailStatus," + "@MobileStatus," + "@Property)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 把实体类转换成键/值对集合 /// </summary> /// <param name="entity"></param> /// <param name="dict"></param> private static void GetParameters(StockOutEntity entity, Dictionary <string, object> dict) { dict.Add("ID", entity.ID); dict.Add("Email", entity.Email); dict.Add("UserId", entity.UserId); dict.Add("Mobile", entity.Mobile); dict.Add("ProductId", entity.ProductId); dict.Add("OrderNum", entity.OrderNum); dict.Add("InputTime", entity.InputTime); dict.Add("IP", entity.IP); dict.Add("EmailStatus", entity.EmailStatus); dict.Add("MobileStatus", entity.MobileStatus); dict.Add("Property", entity.Property); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <StockOutEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { StockOutEntity obj = null; string strSQL = "select top 1 * from StockOut where 1=1 " + strWhere; using (NullableDataReader reader = await Task.Run(() => _DB.GetDataReader(strSQL, dict))) { if (reader.Read()) { obj = GetEntityFromrdr(reader); } } return(obj); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static StockOutEntity GetEntityFromrdr(NullableDataReader rdr) { StockOutEntity info = new StockOutEntity(); info.ID = rdr.GetInt32("ID"); info.Email = rdr.GetString("Email"); info.UserId = rdr.GetInt32("UserId"); info.Mobile = rdr.GetString("Mobile"); info.ProductId = rdr.GetInt32("ProductId"); info.OrderNum = rdr.GetInt32("OrderNum"); info.InputTime = rdr.GetNullableDateTime("InputTime"); info.IP = rdr.GetString("IP"); info.EmailStatus = rdr.GetInt32("EmailStatus"); info.MobileStatus = rdr.GetInt32("MobileStatus"); info.Property = rdr.GetString("Property"); return(info); }
/// <summary> /// 更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <bool> UpdateAsync(StockOutEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update StockOut SET " + "Email = @Email," + "UserId = @UserId," + "Mobile = @Mobile," + "ProductId = @ProductId," + "OrderNum = @OrderNum," + "InputTime = @InputTime," + "IP = @IP," + "EmailStatus = @EmailStatus," + "MobileStatus = @MobileStatus," + "Property = @Property" + " WHERE " + "ID = @ID"; return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))); }
/// <summary> /// 增加或更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual async Task <bool> AddOrUpdateAsync(StockOutEntity entity, bool IsSave) { return(IsSave ? await AddAsync(entity) : await UpdateAsync(entity)); }
/// <summary> /// 增加或更新一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual bool AddOrUpdate(StockOutEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }