/// <summary> /// 获取全部合订 /// </summary> /// <returns>全部合订</returns> public IEnumerable GetAllPeriodBindingsArray() { List <PeriodicalBinding> result = new List <PeriodicalBinding>(); try { DataTable datatable = periodicalDal.GetAllPeriodBindings(); foreach (DataRow dr in datatable.Rows) { PeriodicalBinding periodicalBinding = new PeriodicalBinding() { Id = (int)dr["编号"], BindingIdList = dr["合订编号"].ToString(), BookId = (int)dr["流通库编号"], BindingName = dr["合订本名称"].ToString(), }; result.Add(periodicalBinding); } return(result); } catch (Exception e) { Console.WriteLine(e.Message); throw e; } }
/// <summary> /// 合订按钮点击事件 /// </summary> private void button_Add_Click(object sender, EventArgs e) { try { List <string> errorList = new List <string>();//创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) PeriodicalBinding binding = GetPeriodicalBinding(ref errorList); //判断是否添加订单成功 if (periodicalBll.AddPeriodicalBinding(binding, ref errorList)) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); foreach (var i in errorList) { MessageBox.Show(i);//逐条显示错误信息 } } } catch (Exception ex) { MessageBox.Show(ex.Message); } DataBind();//数据绑定 }
/// <summary> /// 获取当前窗体所表示的合订记录 /// </summary> /// <param name="error">错误列表</param> /// <returns>期刊合订记录</returns> private PeriodicalBinding GetPeriodicalBinding(ref List <string> error) { List <string> errorList = new List <string>();//错误列表 //根据页面内容构造合订记录 PeriodicalBinding binding = new PeriodicalBinding() { BindingName = textBox_bindingName.Text, BindingIdList = GetBindList() }; error = errorList; //返回错误列表 return(binding); //返回合订 }
/// <summary> /// 增加一条期刊合订记录 /// </summary> /// <param name="binding">期刊合订记录</param> /// <returns>增加成功与否</returns> public bool AddPeriodicalBinding(PeriodicalBinding binding) { string sqlStr = "AddPeriodicalBinding"; //储存Datatable MySqlParameter[] para = new MySqlParameter[]//存储相应参数的容器 { new MySqlParameter("@returnValue", MySqlDbType.Bit, 1), new MySqlParameter("@bindingIdList", binding.BindingIdList), new MySqlParameter("@bindingName", binding.BindingName), }; para[0].Direction = ParameterDirection.Output;//将第一个变量设为输出变量 int count = helper.ExecuteNonQuery(sqlStr, para, CommandType.StoredProcedure); return(para[0].Value.ToString() == "1"); }
/// <summary> /// 获取当前页面勾选情况所代表的合订列表 /// </summary> private string GetBindList() { List <string> ls = new List <string>(); if (dataGridView_Periodical.Rows.Count <= 0) { throw new Exception("error"); } foreach (DataGridViewRow i in dataGridView_Periodical.Rows) { var dgvCheck = (DataGridViewCheckBoxCell)i.Cells[0]; if (Convert.ToBoolean(dgvCheck.EditedFormattedValue)) { ls.Add(i.Cells[1].Value.ToString()); } } return(PeriodicalBinding.GetBindingListString(ls)); }
public void TestAddPeriodicalBinding() { List <string> errorList = new List <string>(); PeriodicalBinding binding1 = new PeriodicalBinding() { Id = 1, BookId = 1, BindingIdList = "", BindingName = "单元测试Add", }; PeriodicalBinding binding2 = new PeriodicalBinding() { Id = 1, BookId = 1, BindingIdList = "2|3", BindingName = "", }; Assert.AreEqual(false, periodicalBll.AddPeriodicalBinding(binding1, ref errorList)); Assert.AreEqual(false, periodicalBll.AddPeriodicalBinding(binding2, ref errorList)); int max1Id = -1; int max2Id = -1; Book[] books = ((List <Book>)periodicalBll.GetAllUnbindedPeriodicalArray()).ToArray(); if (books.Length < 2) { return; } else { max1Id = books[books.Length - 1].Id; max2Id = books[books.Length - 2].Id; } PeriodicalBinding binding = new PeriodicalBinding() { Id = 1, BookId = 1, BindingIdList = max1Id + "|" + max2Id, BindingName = "单元测试Add", }; Assert.AreEqual(true, periodicalBll.AddPeriodicalBinding(binding, ref errorList)); }
/// <summary> /// 增加一条期刊合订记录 /// </summary> /// <param name="binding">期刊合订记录</param> /// <returns>增加成功与否</returns> public bool AddPeriodicalBinding(PeriodicalBinding binding, ref List <string> errorMsg) { bool result = false; try { if (!PeriodicalBinding.isNull(binding)) //是否有空项 { if (PeriodicalBinding.isNormative(binding, ref errorMsg)) //是否符合规范 { result = periodicalDal.AddPeriodicalBinding(binding); } } } catch (Exception e) { Console.WriteLine(e.Message); throw e; } return(result); }