private void Btn_addCase_Click(object sender, EventArgs e) { try { List <string> errorList = new List <string>();//创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) var list = new InterviewPurchaseOrder[] { GetPurchaseOrder(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> /// <returns>全部订单</returns> public IEnumerable GetAllPurchaseOrdersArray() { List <InterviewPurchaseOrder> result = new List <InterviewPurchaseOrder>(); try { DataTable datatable = interviewDal.GetAllPurchaseOrders(); foreach (DataRow dr in datatable.Rows) { InterviewPurchaseOrder interviewPurchaseOrder = new InterviewPurchaseOrder() { Id = (int)dr["订单号"], SubDate = (DateTime)dr["订单日期"], ISBN = dr["ISBN号"].ToString(), OrdererId = int.Parse(dr["订购人ID"].ToString()), BookName = dr["书名"].ToString(), DocumentType = dr["文献类型"].ToString(), Price = double.Parse(dr["价格"].ToString()), PublishingHouseId = int.Parse(dr["出版社ID"].ToString()), CurrencyType = dr["币种"].ToString(), }; result.Add(interviewPurchaseOrder); } return(result); } catch (Exception e) { Console.WriteLine(e.Message); throw e; } }
/// <summary> /// 修改一条采购订单记录 /// </summary> /// <param name="order">采购订单</param> /// <returns>修改成功与否</returns> public bool UpdatePurchaseOrder(InterviewPurchaseOrder order, ref List <string> errorMsg) { bool result = false; try { if (order.Id == 0) { errorMsg.Add("Id Error"); return(false); } if (!InterviewPurchaseOrder.isNull(order)) //是否有空项 { if (InterviewPurchaseOrder.isNormative(order, ref errorMsg)) //是否符合规范 { result = interviewDal.UpdatePurchaseOrder(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>();//创建一个错误列表 //获取根据当前页面内容生成的订单(若有错误会被添加到错误列表中) InterviewPurchaseOrder order = GetPurchaseOrder(ref errorList); //判断是否添加订单成功 if (interviewBll.AddPurchaseOrder(order, 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="order">采购订单</param> /// <returns>增加成功与否</returns> public bool AddPurchaseOrder(InterviewPurchaseOrder order) { string sqlStr = "INSERT INTO tb_InterviewPurchaseOrder (" + "Id," + "SubDate," + "ISBN," + "OrdererId," + "BookName," + "Price," + "CurrencyType," + "PublishingHouseId," + "DocumentType," + "Remark " + ")" + "VALUES(" + "@id," + "@subDate," + "@iSBN," + "@ordererId," + "@bookName," + "@price," + "@currencyType," + "@publishingHouseId," + "@documentType," + "@remark " + ")"; //储存Datatable MySqlParameter[] para = new MySqlParameter[]//存储相应参数的容器 { new MySqlParameter("@id", order.Id), new MySqlParameter("@subDate", order.SubDate), new MySqlParameter("@iSBN", order.ISBN), new MySqlParameter("@ordererId", order.OrdererId), new MySqlParameter("@bookName", order.BookName), new MySqlParameter("@price", order.Price), new MySqlParameter("@currencyType", order.CurrencyType), new MySqlParameter("@publishingHouseId", order.PublishingHouseId), new MySqlParameter("@documentType", order.DocumentType), new MySqlParameter("@remark", order.Remark), }; 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 InterviewPurchaseOrder GetPurchaseOrder(ref List <string> error) { List <string> errorList = new List <string>();//错误列表 //出版社Id int publisherId = ((KeyValuePair <int, string>)publishingHouseComboBox.SelectedItem).Key; //判断订购人账号是否符合要求 Match matchOrderer = Regex.Match(SubscriberTextBox.Text, @"(^\d{8}$)|(^\d{10}$)|(^\d{12}$)"); if (!matchOrderer.Success) { errorList.Add("OrdererNumber Error"); } //通过订购人账号获取id int ordererId = utilBll.GetUserIdFormNumber(SubscriberTextBox.Text); double price; //判断价格是否能被转换为整型 if (!double.TryParse(pricetextBox.Text, out price)) { errorList.Add("OrderPrice Error"); } //根据页面内容构造订单 InterviewPurchaseOrder order = new InterviewPurchaseOrder() { SubDate = subDatePicker.Value, ISBN = ISBNtextBox.Text, OrdererId = ordererId, BookName = bookNameTextBox.Text, Price = price, CurrencyType = currencyTypeComboBox.Text, PublishingHouseId = publisherId, DocumentType = documentTypeComboBox.Text, Remark = RemarkTextBox.Text, }; error = errorList; //返回错误列表 return(order); //返回订单 }
/// <summary> /// 增加一条采购订单记录 /// </summary> /// <param name="order">采购订单</param> /// <param name="errorMsg">增加成功与否</param> /// <returns></returns> public bool AddPurchaseOrder(InterviewPurchaseOrder order, ref List <string> errorMsg) { bool result = false; try { if (!InterviewPurchaseOrder.isNull(order)) //是否有空项 { if (InterviewPurchaseOrder.isNormative(order, ref errorMsg)) //是否符合规范 { result = interviewDal.AddPurchaseOrder(order); } } } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } return(result); }
public void TestUpdatePurchaseOrder() { Tools.UserCaseHandle userCaseHandle = new Tools.UserCaseHandle(@"C:\Users\Mr.Feng\Desktop\软工\测试用例\Update_InterviewPurchaseOrder.xls"); IEnumerable purchaseOrders = userCaseHandle.GetUserCases(); List <string> errorList = new List <string>(); foreach (var i in purchaseOrders) { Assert.AreEqual(false, interviewBll.UpdatePurchaseOrder((InterviewPurchaseOrder)i, ref errorList)); } int maxId = -1; foreach (InterviewPurchaseOrder i in interviewBll.GetAllPurchaseOrdersArray()) { if (i.Id > maxId) { maxId = i.Id; } } if (maxId != -1) { InterviewPurchaseOrder order = new InterviewPurchaseOrder() { Id = maxId, OrdererId = 1, ISBN = "1234567890", BookName = "采访单元测试", Price = 10, SubDate = DateTime.Now, DocumentType = "期刊", PublishingHouseId = 1, CurrencyType = "美元$", }; Assert.AreEqual(true, interviewBll.UpdatePurchaseOrder(order, ref errorList)); } }
public void TestAddPurchaseOrder() { Tools.UserCaseHandle userCaseHandle = new Tools.UserCaseHandle(@"C:\Users\Mr.Feng\Desktop\软工\测试用例\Add_InterviewPurchaseOrder.xls"); IEnumerable purchaseOrders = userCaseHandle.GetUserCases(); List <string> errorList = new List <string>(); foreach (var i in purchaseOrders) { Assert.AreEqual(false, interviewBll.AddPurchaseOrder((InterviewPurchaseOrder)i, ref errorList)); } InterviewPurchaseOrder order = new InterviewPurchaseOrder() { Id = 1, ISBN = "1234567890", OrdererId = 1, BookName = "采访单元测试", Price = 1, CurrencyType = "美元$", PublishingHouseId = 1, DocumentType = "专著", }; Assert.AreEqual(true, interviewBll.AddPurchaseOrder(order, ref errorList)); }
/// <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; } InterviewPurchaseOrder order = GetPurchaseOrder(ref errorList); order.Id = id;//设置订单ID //判断是否添加订单成功 if (interviewBll.UpdatePurchaseOrder(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(); //改变菜单按钮启用状态 }