/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(CourierEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into Courier (" + "ShortName," + "FullName," + "Address," + "Telephone," + "Contacter," + "SearchUrl," + "SearchUrlMobile) " + "values(" + "@ShortName," + "@FullName," + "@Address," + "@Telephone," + "@Contacter," + "@SearchUrl," + "@SearchUrlMobile)"; return(await Task.Run(() => _DB.ReturnID(strSQL, dict))); }
/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(CourierEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into Courier (" + "ShortName," + "FullName," + "Address," + "Telephone," + "Contacter," + "SearchUrl," + "SearchUrlMobile) " + "values(" + "@ShortName," + "@FullName," + "@Address," + "@Telephone," + "@Contacter," + "@SearchUrl," + "@SearchUrlMobile)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 把实体类转换成键/值对集合 /// </summary> /// <param name="entity"></param> /// <param name="dict"></param> private static void GetParameters(CourierEntity entity, Dictionary <string, object> dict) { dict.Add("CourierID", entity.CourierID); dict.Add("ShortName", entity.ShortName); dict.Add("FullName", entity.FullName); dict.Add("Address", entity.Address); dict.Add("Telephone", entity.Telephone); dict.Add("Contacter", entity.Contacter); dict.Add("SearchUrl", entity.SearchUrl); dict.Add("SearchUrlMobile", entity.SearchUrlMobile); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static CourierEntity GetEntityFromrdr(NullableDataReader rdr) { CourierEntity info = new CourierEntity(); info.CourierID = rdr.GetInt32("CourierID"); info.ShortName = rdr.GetString("ShortName"); info.FullName = rdr.GetString("FullName"); info.Address = rdr.GetString("Address"); info.Telephone = rdr.GetString("Telephone"); info.Contacter = rdr.GetString("Contacter"); info.SearchUrl = rdr.GetString("SearchUrl"); info.SearchUrlMobile = rdr.GetString("SearchUrlMobile"); return(info); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <CourierEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { CourierEntity obj = null; string strSQL = "select top 1 * from Courier 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> /// <returns></returns> public virtual async Task <bool> UpdateAsync(CourierEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update Courier SET " + "ShortName = @ShortName," + "FullName = @FullName," + "Address = @Address," + "Telephone = @Telephone," + "Contacter = @Contacter," + "SearchUrl = @SearchUrl," + "SearchUrlMobile = @SearchUrlMobile" + " WHERE " + "CourierID = @CourierID"; 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(CourierEntity 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(CourierEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }
Courier MapEntity(CourierEntity courier, AddressEntity address) =>
Order MapEntity(CourierEntity courier, OrderEntity order) =>