public void TestAddPeriodicalOrder() { Tools.UserCaseHandle userCaseHandle = new Tools.UserCaseHandle(@"C:\Users\96464\Desktop\软件工程\测试用例\Add_PeriodicalOrder.xls"); IEnumerable periodicalOrders = userCaseHandle.GetUserCases(); List <string> errorList = new List <string>(); foreach (var i in periodicalOrders) { Assert.AreEqual(false, periodicalBll.AddPeriodicalOrder((PeriodicalOrder)i, ref errorList)); } PeriodicalOrder order = new PeriodicalOrder() { OrdererId = 1, ISBN = "1234567890", OfficialTitle = "单元测试" + DateTime.Now.Date.ToString("yy-MM-dd"), SupplementTitle = "单元测试" + DateTime.Now.Date.ToString("yy-MM-dd"), OrderPrice = 10, BookSellerId = 1, OrderDate = DateTime.Now, DocumentType = "期刊", PublishCycle = "月刊", PublishingHouseId = 1, CurrencyType = "美元(USD)", Size = "A4", }; Assert.AreEqual(true, periodicalBll.AddPeriodicalOrder(order, ref errorList)); }
/// <summary> /// 获取分页后订单 /// </summary> /// <returns>分页后订单</returns> public IEnumerable GetPeriodOrdersArray(int index, int size) { List <PeriodicalOrder> result = new List <PeriodicalOrder>(); try { DataTable datatable = periodicalDal.GetPeriodOrders(index, size); foreach (DataRow dr in datatable.Rows) { PeriodicalOrder periodicalOrder = new PeriodicalOrder() { Id = (int)dr["编号"], OrderDate = (DateTime)dr["订购时间"], ISBN = dr["ISBN号"].ToString(), DocumentType = dr["文献类型"].ToString(), PublishCycle = dr["出版周期"].ToString(), OfficialTitle = dr["正刊名"].ToString(), SupplementTitle = dr["副刊名"].ToString(), OrderPrice = (double)dr["订购价"], CurrencyType = dr["币种"].ToString(), Size = dr["尺寸"].ToString(), }; result.Add(periodicalOrder); } return(result); } catch (Exception e) { Console.WriteLine(e.Message); throw e; } }
/// <summary> /// 修改一条期刊订单记录 /// </summary> /// <param name="order">期刊订单</param> /// <returns>修改成功与否</returns> public bool UpdatePeriodicalOrder(PeriodicalOrder order, ref List <string> errorMsg) { bool result = false; try { if (order.Id == 0) { errorMsg.Add("Id Error"); return(false); } if (!PeriodicalOrder.isNull(order)) //是否有空项 { if (PeriodicalOrder.isNormative(order, ref errorMsg)) //是否符合规范 { result = periodicalDal.UpdatePeriodicalOrder(order); } } } catch (Exception e) { Console.WriteLine(e.Message); throw e; } return(result); }
/// <summary> /// 增加记录 /// </summary> private void AddLog_Click(object sender, EventArgs e) { try { List <string> errorList = new List <string>();//创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) PeriodicalOrder order = GetPeriodicalOrder(ref errorList); //判断是否添加订单成功 if (periodicalBll.AddPeriodicalOrder(order, ref errorList)) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); foreach (var i in errorList) { MessageBox.Show(i);//逐条显示错误信息 } } } catch (Exception ex) { MessageBox.Show(ex.Message); } DataBind(); }
private void btn_addCase_Click(object sender, EventArgs e) { try { List <string> errorList = new List <string>();//创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) var list = new PeriodicalOrder[] { GetPeriodicalOrder(ref errorList) }; if (errorList.Count == 0) { if (userCaseHandle.AddUserCases(list.ToList())) { 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 PeriodicalOrder GetPeriodicalOrder(ref List <string> error) { List <string> errorList = new List <string>();//错误列表 //通过订购人账号获取id int ordererId = int.Parse(ordererTextBox.Text); double price; //判断价格是否能被转换为浮点型 if (!double.TryParse(orderPriceTextBox.Text, out price)) { errorList.Add("OrderPrice Error"); } //根据页面内容构造订单 PeriodicalOrder order = new PeriodicalOrder() { Id = int.Parse(orderNumTextBox.Text), BookSellerId = booksellerComboBox.SelectedIndex, OrderDate = orderDatePicker.Value, OrdererId = ordererId, ISBN = IsbnTextBox.Text, DocumentType = documentTypeComboBox.Text, PublishCycle = cycleComboBox.Text, OfficialTitle = officialTitleTextBox.Text, SupplementTitle = supplementTitleTextBox.Text, PublishingHouseId = publishingHouseComboBox.SelectedIndex, OrderPrice = price, CurrencyType = currencyTypeComboBox.Text, Size = sizeComboBox.Text, }; error = errorList; //返回错误列表 return(order); //返回订单 }
/// <summary> /// 增加一条期刊订单记录 /// </summary> /// <param name="order">期刊订单</param> /// <returns>增加成功与否</returns> public bool AddPeriodicalOrder(PeriodicalOrder order) { string sqlStr = "INSERT INTO tb_PeriodicalOrder (" + "BookSellerId," + "OrderTime," + "OrdererId," + "ISBN," + "DocumentType," + "PublishCycle," + "OfficialTitle," + "SupplementTitle," + "PublishingHouseId," + "OrderPrice," + "CurrencyType," + "Size" + ") " + "VALUES(" + "@bookSellerId," + "@orderTime," + "@ordererId," + "@iSBN," + "@documentType," + "@publishCycle," + "@officialTitle," + "@supplementTitle," + "@publishingHouseId," + "@orderPrice," + "@currencyType," + "@size" + ");"; //储存Datatable MySqlParameter[] para = new MySqlParameter[]//存储相应参数的容器 { new MySqlParameter("@bookSellerId", order.BookSellerId), new MySqlParameter("@orderTime", order.OrderDate), new MySqlParameter("@ordererId", order.OrdererId), new MySqlParameter("@iSBN", order.ISBN), new MySqlParameter("@documentType", order.DocumentType), new MySqlParameter("@publishCycle", order.PublishCycle), new MySqlParameter("@officialTitle", order.OfficialTitle), new MySqlParameter("@supplementTitle", order.SupplementTitle), new MySqlParameter("@publishingHouseId", order.PublishingHouseId), new MySqlParameter("@orderPrice", order.OrderPrice), new MySqlParameter("@currencyType", order.CurrencyType), new MySqlParameter("@size", order.Size), }; int count = helper.ExecuteNonQuery(sqlStr, para, CommandType.Text); if (count > 0) { return(true); } else { return(false); } }
/// <summary> /// 获取当前窗体所表示的订单 /// </summary> /// <param name="error">错误列表</param> /// <returns>期刊订单</returns> private PeriodicalOrder GetPeriodicalOrder(ref List <string> error) { List <string> errorList = new List <string>();//错误列表 //书商Id int booksellerId = ((KeyValuePair <int, string>)booksellerComboBox.SelectedItem).Key; //出版社Id int publishingHouseId = ((KeyValuePair <int, string>)publishingHouseComboBox.SelectedItem).Key; //判断订购人账号是否符合要求 Match matchOrderer = Regex.Match(ordererTextBox.Text, @"(^\d{8}$)|(^\d{10}$)|(^\d{12}$)"); if (!matchOrderer.Success) { errorList.Add("OrdererNumber Error"); } //通过订购人账号获取id int ordererId = utilBll.GetUserIdFormNumber(ordererTextBox.Text); double price; //判断价格是否能被转换为浮点型 if (!double.TryParse(orderPriceTextBox.Text, out price)) { errorList.Add("OrderPrice Error"); } //根据页面内容构造订单 PeriodicalOrder order = new PeriodicalOrder() { BookSellerId = booksellerId, OrderDate = orderDatePicker.Value, OrdererId = ordererId, ISBN = IsbnTextBox.Text, DocumentType = documentTypeComboBox.Text, PublishCycle = cycleComboBox.Text, OfficialTitle = officialTitleTextBox.Text, SupplementTitle = supplementTitleTextBox.Text, PublishingHouseId = publishingHouseId, OrderPrice = price, CurrencyType = currencyTypeComboBox.Text, Size = sizeComboBox.Text, }; error = errorList; //返回错误列表 return(order); //返回订单 }
/// <summary> /// 保存记录 /// </summary> private void SaveLog_Click(object sender, EventArgs e) { try { List <string> errorList = new List <string>(); //创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) string orderNum = orderNumTextBox.Text; //获取订单编号 int id; if (!int.TryParse(orderNum, out id)) //将其转换为数字失败 { MessageBox.Show("订单编号错误"); return; } PeriodicalOrder order = GetPeriodicalOrder(ref errorList); order.Id = id;//设置订单ID //判断是否添加订单成功 if (periodicalBll.UpdatePeriodicalOrder(order, ref errorList)) { MessageBox.Show("修改成功"); } else { MessageBox.Show("修改失败"); foreach (var i in errorList) { MessageBox.Show(i);//逐条显示错误信息 } } } catch (Exception ex) { MessageBox.Show(ex.Message); } DataBind(); //数据绑定 ChangeControlEnableState(); //改变菜单按钮启用状态 }