/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(DeliverLogEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into DeliverLog (" + "OrderID," + "DeliverDate," + "DeliverDirection," + "HandlerName," + "CourierId," + "ExpressNumber," + "Inputer," + "Remark," + "IsReceived," + "ReceivedDate," + "Memo) " + "values(" + "@OrderID," + "@DeliverDate," + "@DeliverDirection," + "@HandlerName," + "@CourierId," + "@ExpressNumber," + "@Inputer," + "@Remark," + "@IsReceived," + "@ReceivedDate," + "@Memo)"; return(await Task.Run(() => _DB.ReturnID(strSQL, dict))); }
/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(DeliverLogEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into DeliverLog (" + "OrderID," + "DeliverDate," + "DeliverDirection," + "HandlerName," + "CourierId," + "ExpressNumber," + "Inputer," + "Remark," + "IsReceived," + "ReceivedDate," + "Memo) " + "values(" + "@OrderID," + "@DeliverDate," + "@DeliverDirection," + "@HandlerName," + "@CourierId," + "@ExpressNumber," + "@Inputer," + "@Remark," + "@IsReceived," + "@ReceivedDate," + "@Memo)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <DeliverLogEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { DeliverLogEntity obj = null; string strSQL = "select top 1 * from DeliverLog 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="entity"></param> /// <param name="dict"></param> private static void GetParameters(DeliverLogEntity entity, Dictionary <string, object> dict) { dict.Add("DeliverID", entity.DeliverID); dict.Add("OrderID", entity.OrderID); dict.Add("DeliverDate", entity.DeliverDate); dict.Add("DeliverDirection", entity.DeliverDirection); dict.Add("HandlerName", entity.HandlerName); dict.Add("CourierId", entity.CourierId); dict.Add("ExpressNumber", entity.ExpressNumber); dict.Add("Inputer", entity.Inputer); dict.Add("Remark", entity.Remark); dict.Add("IsReceived", entity.IsReceived); dict.Add("ReceivedDate", entity.ReceivedDate); dict.Add("Memo", entity.Memo); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static DeliverLogEntity GetEntityFromrdr(NullableDataReader rdr) { DeliverLogEntity info = new DeliverLogEntity(); info.DeliverID = rdr.GetInt32("DeliverID"); info.OrderID = rdr.GetInt32("OrderID"); info.DeliverDate = rdr.GetNullableDateTime("DeliverDate"); info.DeliverDirection = rdr.GetInt32("DeliverDirection"); info.HandlerName = rdr.GetString("HandlerName"); info.CourierId = rdr.GetInt32("CourierId"); info.ExpressNumber = rdr.GetString("ExpressNumber"); info.Inputer = rdr.GetString("Inputer"); info.Remark = rdr.GetString("Remark"); info.IsReceived = rdr.GetBoolean("IsReceived"); info.ReceivedDate = rdr.GetNullableDateTime("ReceivedDate"); info.Memo = rdr.GetString("Memo"); return(info); }
/// <summary> /// 更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <bool> UpdateAsync(DeliverLogEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update DeliverLog SET " + "OrderID = @OrderID," + "DeliverDate = @DeliverDate," + "DeliverDirection = @DeliverDirection," + "HandlerName = @HandlerName," + "CourierId = @CourierId," + "ExpressNumber = @ExpressNumber," + "Inputer = @Inputer," + "Remark = @Remark," + "IsReceived = @IsReceived," + "ReceivedDate = @ReceivedDate," + "Memo = @Memo" + " WHERE " + "DeliverID = @DeliverID"; 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(DeliverLogEntity 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(DeliverLogEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }