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();
 }
Exemplo n.º 5
0
 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();
 }
Exemplo n.º 6
0
        /// <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);     //返回订单
        }
Exemplo n.º 7
0
        /// <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(); //改变菜单按钮启用状态
 }