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();
 }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        /// <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();
 }
Ejemplo n.º 5
0
        /// <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);     //返回订单
        }
Ejemplo n.º 7
0
        /// <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);
        }
Ejemplo n.º 8
0
        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));
            }
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
 /// <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(); //改变菜单按钮启用状态
 }