/// <summary> /// 添加药品 /// </summary> /// <param name="drug">药品实体 model</param> /// <returns> /// 成功返回刚刚插入数据库的药品编号 /// 失败 返回0 /// </returns> public static int AddDrug(Drug drug) { if (GetListDrug(" State=1 and Name='" + drug.Name + "' and DrugStoreId=" + drug.DrugStoreId).Count == 0) { return Daldrug.AddDrug(drug); } return -1; }
/// <summary> /// 添加药品 /// </summary> /// <param name="drug">药品实体 model</param> /// <returns> /// 成功返回刚刚插入数据库的药品编号 /// 失败 返回0 /// </returns> public int AddDrug(Drug drug) { int result = 0; try { StringBuilder strSql = new StringBuilder(); strSql.Append(" insert into T_Med_Drug ("); strSql.Append(" Name,UpperName,LowerName,Price,AddTime,State,DrugStoreId)"); strSql.Append(" values("); strSql.Append(" @Name,@UpperName,@LowerName,@Price,@AddTime,@State,@DrugStoreId)"); strSql.Append(" ;select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@Name", SqlDbType.NVarChar,100), new SqlParameter("@UpperName", SqlDbType.NVarChar,50), new SqlParameter("@LowerName", SqlDbType.NVarChar,50), new SqlParameter("@Price", SqlDbType.Decimal), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@State", SqlDbType.Int), new SqlParameter("@DrugStoreId", SqlDbType.Int) }; parameters[0].Value = drug.Name; parameters[1].Value = drug.UpperName; parameters[2].Value = drug.LowerName; parameters[3].Value = drug.Price; parameters[4].Value = drug.AddTime; parameters[5].Value = drug.State; parameters[6].Value = drug.DrugStoreId; object obj = SqlHelper.ExecuteScalar(SqlHelper.connString, CommandType.Text, strSql.ToString(), parameters); if (obj != null) { result = Convert.ToInt32(obj); } } catch (Exception e) { Log4Net.LogWrite("err", "Med_DAL:DAL_Drug//AddDrug" + e.Message); //发生异常,记录 } return result; }
/// <summary> /// 检验用户输入数据的合法性,双重验证(包括前台),返回药品数据实体 /// </summary> /// <param name="drug"></param> /// <param name="type"></param> private void CheckData(ref Drug drug, string type) { if (string.IsNullOrEmpty(this.txtDrugName.Text)) { MessageBox.Show(this.Page, "药品名不能为空"); this.txtDrugName.Focus(); //获得焦点 } if (string.IsNullOrEmpty(this.txtDrugUpperName.Text)) { MessageBox.Show(this.Page, "药品大写字母缩写不能为空"); this.txtDrugUpperName.Focus(); //获得焦点 } if (string.IsNullOrEmpty(this.txtDrugLowerName.Text)) { MessageBox.Show(this.Page, "药品小写字母缩写不能为空"); this.txtDrugLowerName.Focus(); //获得焦点 } decimal Price = 0.00m; if (string.IsNullOrEmpty(this.txtDrugPrice.Text) || !decimal.TryParse(this.txtDrugPrice.Text, out Price)) { MessageBox.Show(this.Page, "药品价格格式不正确"); this.txtDrugPrice.Focus(); //获得焦点 } //赋值 drug.Name = this.txtDrugName.Text.Trim(); drug.UpperName = this.txtDrugUpperName.Text.Trim(); drug.LowerName = this.txtDrugLowerName.Text.Trim(); drug.Price = Price; drug.AddTime = DateTime.Now; drug.DrugStoreId = Convert.ToInt32(this.ddDrugStoreId.SelectedValue); if (type == "add") { if (BLL_Drug.GetListDrug(" State=1 and Name='" + drug.Name + "' and DrugStoreId = " + drug.DrugStoreId).Count > 0) { return; } drug.State = 1; } return; }
/// <summary> /// 管理药品 add or edit /// </summary> /// <param name="type">添加或修改</param> /// <returns></returns> private bool AdminDrug(string type) { bool result = false; var drug = new Med_Model.Drug(); CheckData(ref drug, type); if (type == "add") { //如果添加药品成功 同时成功记录操作日志的话 返回true result = (BLL_Drug.AddDrug(drug) > 0) && (AddSysLog(CommonEnum.ActionType.Add.ToString(), "添加药品") ? true : false); } if (type == "edit") { //如果更新药品信息成功,同时添加日志成功 返回true 否则返回false result = (BLL_Drug.UpdateDrug(drug)) && (AddSysLog(CommonEnum.ActionType.Update.ToString(), "修改药品信息") ? true : false); } return result; }
/// <summary> /// 更新药品信息 /// </summary> /// <param name="drug"></param> /// <returns> /// 成功:true /// 失败:false /// </returns> public bool UpdateDrug(Drug drug) { bool result = false; try { StringBuilder strSql = new StringBuilder(); strSql.Append(" update T_Med_Drug set "); strSql.Append(" UpperName=@UpperName, "); strSql.Append(" LowerName=@LowerName, "); strSql.Append(" Price=@Price, "); strSql.Append(" AddTime=@AddTime, "); strSql.Append(" DrugStoreId=@DrugStoreId "); strSql.Append(" where Name=@Name and DrugStoreId=@DrugStoreId "); SqlParameter[] parameters = { new SqlParameter("@UpperName", SqlDbType.NVarChar,50), new SqlParameter("@LowerName", SqlDbType.NVarChar,50), new SqlParameter("@Price", SqlDbType.Decimal), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@DrugStoreId1", SqlDbType.Int), new SqlParameter("@Name", SqlDbType.NVarChar,100), new SqlParameter("@DrugStoreId", SqlDbType.Int) }; parameters[0].Value = drug.UpperName; parameters[1].Value = drug.LowerName; parameters[2].Value = drug.Price; parameters[3].Value = drug.AddTime; parameters[4].Value = drug.DrugStoreId; parameters[5].Value = drug.Name; parameters[6].Value = drug.DrugStoreId; if (SqlHelper.ExecuteNonQuery(SqlHelper.connString, CommandType.Text, strSql.ToString(), parameters) > 0) //更改成功 影响条数为1 { result = true; //更新成功设置为true } } catch (Exception e) { Log4Net.LogWrite("err", "Med_DAL:DAL_Drug//UpdateDrug" + e.Message); //发生异常,记录 } return result; }
/// <summary> /// 根据药品编号得到相应药品信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public Drug SelectDrugById(int id) { Drug drug = new Drug(); try { StringBuilder strSql = new StringBuilder(); strSql.Append(" select top 1 Id,Name,UpperName,LowerName,Price,AddTime,DrugStoreId,State from T_Med_Drug"); strSql.Append(" where Id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int)}; parameters[0].Value = id; // drug = LoadEntity(SqlHelper.ExecuteDataset(SqlHelper.connString, CommandType.Text, strSql.ToString(), parameters).Tables[0]); drug = SqlHelper.ExecuteDataset(SqlHelper.connString, CommandType.Text, strSql.ToString(), parameters).Tables[0].ToList<Drug>()[0];//当前List<> 中只有一条记录,用这种方式得到 } catch (Exception e) { Log4Net.LogWrite("err", "Med_DAL:DAL_Drug//SelectDrugById" + e.Message); //发生异常,记录 } return drug; }
/// <summary> /// 更新药品信息 /// </summary> /// <param name="drug"></param> /// <returns> /// 成功:true /// 失败:false /// </returns> public static bool UpdateDrug(Drug drug) { return Daldrug.UpdateDrug(drug); }