Пример #1
0
        //public bool UpdateShipInfo(int shipId, string shipDate, decimal freight, int orderID)
        public bool UpdateShipInfo(OrderVO order)
        {
            string sql = @"update Orders 
                              set ShipVia=@shipId, ShippedDate=@shipDate, Freight=@freight
                            where OrderID = @orderID";

            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                cmd.Parameters.AddWithValue("@shipId", order.ShipVia);
                cmd.Parameters.AddWithValue("@shipDate", order.ShippedDate);
                cmd.Parameters.AddWithValue("@freight", order.Freight);
                cmd.Parameters.AddWithValue("@orderID", order.OrderID);

                int iRowAffect = cmd.ExecuteNonQuery();
                conn.Close();

                if (iRowAffect > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #2
0
        public Order MapOrderVoToEntity(OrderVO orderVO)
        {
            Order order = orderVO.MapTo<Order>();
            order.OrderItems.ToList().ForEach(x => x.Order = order);

            return order;
        }
Пример #3
0
        private void dgvProduct_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.Enter))
            {
                if (dgvProduct[5, rowindex].Value.ToString().Trim() != "")
                {
                    if (orderList == null)
                    {
                        orderList = new List <OrderVO>();
                    }

                    string prodID = dgvProduct[3, rowindex].Value.ToString();
                    int    idx    = orderList.FindIndex(p => p.product_id == prodID);
                    if (idx > -1)
                    {
                        orderList[idx].order_count = Convert.ToInt32(dgvProduct[5, rowindex].Value);
                    }
                    else
                    {
                        OrderVO newItem = new OrderVO();
                        newItem.product_id  = dgvProduct[3, rowindex].Value.ToString();
                        newItem.company_id  = Convert.ToInt32(dgvProduct[1, rowindex].Value);
                        newItem.order_count = Convert.ToInt32(dgvProduct[5, rowindex].Value);
                        orderList.Add(newItem);
                    }
                }
            }
        }
        public OrderVO Create(OrderVO item)
        {
            var orderEntity = _converter.Parse(item);

            orderEntity = _repository.Create(_converter.Parse(item));
            return(_converter.Parse(orderEntity));
        }
Пример #5
0
        private void btnShip_Click(object sender, EventArgs e)
        {
            //유효성체크
            if (cboShipper.SelectedIndex < 1 || txtFreight.Text.Trim().Length < 1)
            {
                MessageBox.Show("배송정보를 입력하세요.");
                return;
            }

            //선택된 주문ID의 배송정보를 UPDATE
            OrderVO order = new OrderVO
            {
                ShipVia     = Convert.ToInt32(cboShipper.SelectedValue),
                ShippedDate = dtpShippedDate.Value.ToShortDateString(),
                Freight     = Convert.ToDecimal(txtFreight.Text.Trim()),
                OrderID     = int.Parse(lblOrderID.Text)
            };

            OrderService service = new OrderService();

            if (service.UpdateShipInfo(order))
            {
                MessageBox.Show("배송처리가 완료되었습니다.");
                btnSearch.PerformClick();
            }
            else
            {
                MessageBox.Show("배송처리중 오류가 발생했습니다. 다시 시도하여 주십시오.");
            }
        }
Пример #6
0
 /// <summary>
 /// 渠道下单接口(yanxuan.order.paid.create)
 /// </summary>
 public static OrderOut CreatePaidOrder(OrderVO order, ref string jsonstr)
 {
     try
     {
         var settings = new JsonSerializerSettings()
         {
             ContractResolver = new OrderedContractResolver()
         };
         var orderJson = JsonConvert.SerializeObject(order, Formatting.Indented, settings);
         orderJson = orderJson.Replace("\r\n", "");
         string postData = GenerateParameter("yanxuan.order.paid.create", new Dictionary <string, string> {
             { "order", orderJson }
         });
         jsonstr = WebRequestHelper.SendPostInfo(ApiUrl, postData);
         LogHelper.Info("YXSV.CreatePaidOrder 渠道下单,Request: " + postData + ",Response: " + jsonstr);
         var result = JsonConvert.DeserializeObject <YXResult <string> >(jsonstr);
         if (result.Successed && !string.IsNullOrEmpty(result.Result))
         {
             return(JsonConvert.DeserializeObject <OrderOut>(result.Result));
         }
         else
         {
             LogHelper.Error("YXSV.CreatePaidOrder 渠道下单失败,Request: " + postData + ",Response: " + jsonstr);
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error("YXSV.CreatePaidOrder 渠道下单异常,Request: " + JsonConvert.SerializeObject(order), ex);
     }
     return(null);
 }
Пример #7
0
        private void InitRow(int index, OrderVO vo)
        {
            bool handled = vo.Handled == HANDLE_FLAG.HANDLED ? true : false;

            if (handled)
            {
                dtgvOrders.Rows[index].Cells[colCkboxs.Name].ReadOnly = true;
                dtgvOrders.Rows[index].DefaultCellStyle.BackColor     = System.Drawing.Color.LightGray;
            }
            else
            {
                if (selectedOrdrMap.ContainsKey(vo.OrderNO__PK))
                {
                    dtgvOrders.Rows[index].Cells[colCkboxs.Name].Value = "true";
                }
            }
            dtgvOrders.Rows[index].Cells[colHandled.Name].Value    = vo.Handled;
            dtgvOrders.Rows[index].Cells[colAmount.Name].Value     = vo.Amount;
            dtgvOrders.Rows[index].Cells[colBillNO.Name].Value     = StringUtil.isEmpty(vo.BillNO) ? "——" : vo.BillNO;
            dtgvOrders.Rows[index].Cells[colCrtTmst.Name].Value    = vo.CrtTmst;
            dtgvOrders.Rows[index].Cells[colCrtUID.Name].Value     = vo.CrtUID;
            dtgvOrders.Rows[index].Cells[colCrtUName.Name].Value   = vo.CrtUName;
            dtgvOrders.Rows[index].Cells[colCustID.Name].Value     = vo.CustID;
            dtgvOrders.Rows[index].Cells[colDirectDesc.Name].Value = DIRECT.DIRECT_MAP[vo.Direct];
            dtgvOrders.Rows[index].Cells[colDirect.Name].Value     = vo.Direct;
            dtgvOrders.Rows[index].Cells[colOrderNO.Name].Value    = vo.OrderNO__PK;
        }
Пример #8
0
        private void dgvOrder_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvOrder.SelectedRows.Count < 1)
            {
                return;
            }

            //더블클릭해서 선택한 주문ID
            int orderID = Convert.ToInt32(dgvOrder[0, e.RowIndex].Value);

            //주문ID에 해당하는 주문상세내역
            OrderService service = new OrderService();

            dgvOrderDetail.DataSource = service.GetOrderDetailList(orderID);
            dgvOrderDetail.ClearSelection();

            //Ouput 파라미터 사용 예
            lblAmount.Text = service.GetOrderAmount(orderID).ToString();

            //주문목록에서 주문ID를 찾아서 상세정보를 컨트롤에 바인딩
            List <OrderVO> list  = (List <OrderVO>)dgvOrder.DataSource;
            OrderVO        order = list.Find(o => o.OrderID == orderID);

            if (order != null)
            {
                lblOrderID.Text      = order.OrderID.ToString();
                lblCustomerName.Text = order.CompanyName;
                lblEmployeeName.Text = order.EmployeeName;
                lblOrderDate.Text    = order.OrderDate;
                lblRequiredDate.Text = order.RequiredDate;

                //배송정보가 이미 등록된 경우, 확인하기 위해서 배송정보를 컨트롤에 바인딩
                if (order.ShipVia != null)
                {
                    cboShipper.SelectedValue = order.ShipVia.ToString();
                }
                else
                {
                    cboShipper.SelectedIndex = 0;
                }

                dtpShippedDate.Value = string.IsNullOrEmpty(order.ShippedDate) ? DateTime.Now :
                                       Convert.ToDateTime(order.ShippedDate);

                txtFreight.Text = order.Freight.ToString();

                if (order.ShipVia != null && txtFreight.Text.Length > 0)
                {
                    btnShip.Enabled   = false;
                    btnDelete.Enabled = false;
                }
                else
                {
                    btnShip.Enabled   = true;
                    btnDelete.Enabled = true;
                }
            }
        }
Пример #9
0
        /// <summary>
        /// 신규 주문 등록
        /// </summary>
        /// <param name="order">주문정보</param>
        /// <param name="ordDatails">주문상세내역</param>
        /// <returns>주문등록 성공여부</returns>
        public bool RegisterOrder(OrderVO order, List <OrderDetailVO> ordDatails)
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                SqlTransaction trans = conn.BeginTransaction();
                cmd.Connection  = conn;
                cmd.Transaction = trans;

                try
                {
                    //Order 테이블에 1건 Insert
                    cmd.CommandText = @"insert into Orders (CustomerID, EmployeeID, OrderDate, RequiredDate) 
                                                            values (@CustomerID, @EmployeeID, @OrderDate, @RequiredDate); 
                                                            select @@IDENTITY";

                    cmd.Parameters.AddWithValue("@CustomerID", order.CustomerID);
                    cmd.Parameters.AddWithValue("@EmployeeID", order.EmployeeID);
                    cmd.Parameters.AddWithValue("@OrderDate", DateTime.Now.ToShortDateString());
                    cmd.Parameters.AddWithValue("@RequiredDate", order.RequiredDate);

                    int orderID = Convert.ToInt32(cmd.ExecuteScalar());

                    //OrderDatail에 여러 건 Insert

                    cmd.CommandText = @"insert into [dbo].[Order Details] (OrderID, ProductID, UnitPrice, Quantity) 
                                                            values (@OrderID, @ProductID, @UnitPrice, @Quantity)";
                    cmd.Parameters.AddWithValue("@OrderID", orderID);
                    cmd.Parameters.Add("@ProductID", SqlDbType.Int);
                    cmd.Parameters.Add("@UnitPrice", SqlDbType.Money);
                    cmd.Parameters.Add("@Quantity", SqlDbType.SmallInt);

                    foreach (OrderDetailVO detail in ordDatails)
                    {
                        cmd.Parameters["@ProductID"].Value = detail.ProductID;
                        cmd.Parameters["@UnitPrice"].Value = detail.UnitPrice;
                        cmd.Parameters["@Quantity"].Value  = detail.Quantity;

                        cmd.ExecuteNonQuery();
                    }

                    trans.Commit();
                    conn.Close();
                    return(true);
                }
                catch (Exception err)
                {
                    string msg = err.Message;
                    trans.Rollback();
                    conn.Close();
                    return(false);
                }
            }
        }
Пример #10
0
 public IActionResult PostOrder(OrderVO order)
 {
     if (order == null)
     {
         return(BadRequest());
     }
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     order.TotalValue = order.itens.Sum(s => s.ProductValue);
     return(new ObjectResult(_orderBusiness.Create(order)));
 }
        public async Task CreateOrderReturnsOrderFromHttpRequest()
        {
            requestHandler.SendPostRequest(END_POINT, Arg.Any <object>()).Returns(Task.Run <string>(() => ConvertToJson(new OrderVO {
                orderId = "orderID", items = new List <ItemVO>()
            })));

            var expectedResult = new OrderVO {
                orderId = "orderID", items = new List <ItemVO>()
            };
            var actualResult = await orderService.CreateOrder();

            Assert.AreEqual(expectedResult.orderId, actualResult.orderId);
            Assert.AreEqual(expectedResult.items.Count, actualResult.items.Count);
        }
Пример #12
0
        private void BtnCancel_Click(object sender, EventArgs e)
        {
            List <OrderVO> list = new List <OrderVO>();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                bool isCellChecked = Convert.ToBoolean(row.Cells["chk"].EditedFormattedValue);
                if (isCellChecked)
                {
                    OrderVO vo = new OrderVO();
                    vo.order_id    = row.Cells[1].Value.ToString();
                    vo.plan_id     = row.Cells[2].Value.ToString();
                    vo.order_count = Convert.ToInt32(row.Cells[9].Value);

                    list.Add(vo);
                }
            }

            //발주취소 버튼 (발주번호, PlanID 값)
            PurchasingService service = new PurchasingService();

            if (MessageBox.Show("발주 취소하시겠습니까?", "발주취소", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                try
                {
                    bool result = service.UpdateOrder(list);

                    if (result)
                    {
                        MessageBox.Show("성공적으로 발주취소가 완료되었습니다.", "발주취소", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        SetBottomStatusLabel("성공적으로 발주취소가 완료되었습니다.");
                        btnSearch.PerformClick();
                    }
                    else
                    {
                        MessageBox.Show("발주취소 실패하였습니다. 다시 시도하여 주십시오.", "발주취소", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        SetBottomStatusLabel("발주취소 실패하였습니다. 다시 시도하여 주십시오.");
                    }
                }
                catch (Exception err)
                {
                    LoggingUtility.GetLoggingUtility(err.Message, Level.Error);
                }
            }
            else
            {
                return;
            }
        }
Пример #13
0
        private void btnEditDate_Click(object sender, EventArgs e)
        {
            OrderVO vo = new OrderVO();

            vo.order_pdate = dataGridView1.SelectedRows[0].Cells[7].Value.ToString();
            vo.order_id    = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
            vo.plan_id     = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();

            EditDatePop frm = new EditDatePop(vo);

            if (frm.ShowDialog() == DialogResult.OK)
            {
                btnSearch.PerformClick();
            }
        }
        public async Task GetOrderReturnsOrder()
        {
            var orderID = "orderID";

            requestHandler.SendGetRequest(END_POINT + "/" + orderID, Arg.Any <object>()).Returns(Task.Run <string>(() => ConvertToJson(new OrderVO {
                orderId = orderID, items = new List <ItemVO>()
            })));

            var expectedResult = new OrderVO {
                orderId = orderID, items = new List <ItemVO>()
            };
            var actualResult = await orderService.GetOrder(orderID);

            Assert.AreEqual(expectedResult.orderId, actualResult.orderId);
            Assert.AreEqual(expectedResult.items.Count, actualResult.items.Count);
        }
Пример #15
0
        /// <summary>
        /// 납기일 변경
        /// </summary>
        /// <param name="vo"></param>
        /// <returns></returns>

        public bool UpdateOrderDate(OrderVO vo)
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.Connection  = new SqlConnection(this.ConnectionString);
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "update TBL_ORDER set order_pdate = @order_pdate where order_serial = @order_id and plan_id = @plan_id";

                cmd.Parameters.AddWithValue("@order_pdate", vo.order_pdate);
                cmd.Parameters.AddWithValue("@order_id", vo.order_id);
                cmd.Parameters.AddWithValue("@plan_id", vo.plan_id);

                cmd.Connection.Open();
                var successRow = cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                return(successRow > 0);
            }
        }
Пример #16
0
        private void btnOrder_Click(object sender, EventArgs e)
        {
            //유효성체크
            if (dgvCart.Rows.Count < 1)
            {
                MessageBox.Show("주문할 제품을 선택하여 주십시오.");
                return;
            }

            if (cboCustomer.SelectedIndex < 1 || cboEmployee.SelectedIndex < 1)
            {
                MessageBox.Show("주문정보를 선택하여 주십시오.");
                return;
            }

            //Order에 추가, IDentity조회해서 Order Details에 여러건 추가
            try
            {
                OrderVO order = new OrderVO
                {
                    CustomerID   = cboCustomer.SelectedValue.ToString(),
                    EmployeeID   = Convert.ToInt32(cboEmployee.SelectedValue),
                    RequiredDate = dtpRequiredDate.Value.ToShortDateString()
                };

                OrderService service = new OrderService();
                bool         bResult = service.RegisterOrder(order, cartList);
                if (bResult)
                {
                    cartList.Clear();
                    dgvCart.DataSource = null;

                    MessageBox.Show("주문이 완료되었습니다.");
                }
                else
                {
                    MessageBox.Show("주문 처리 중 오류가 발생했습니다. 다시 시도하여 주십시오.");
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }
Пример #17
0
        // Click to confirm the order
        private void btnConfirmOrder_Click(object sender, EventArgs e)
        {
            try
            {
                if (lbOrderItens.Items.Count == 0)
                {
                    throw new ArgumentNullException("Não é possivel criar um pedido vazio");
                }

                if (txtCustomerName.TextLength == 0)
                {
                    throw new ArgumentNullException("Insira o nome do cliente para criar o pedido");
                }

                if (!Regex.IsMatch(txtCustomerName.Text, @"^[a-zA-Z]+$"))
                {
                    throw new InvalidOperationException("Insira apenas letras no nome.");
                }

                OrderVO order = Classes.Ordering.createOrder(txtCustomerName.Text, lbOrderItens.Items.Cast <String>().ToList());

                OrderDAO.insertOrder(order);

                updateOrder(lbQueue, order);

                addLog("Pedido do " + order.CustomerName + " adicionado. O nº do pedido é: " + order.Id);

                txtCustomerName.Text = "";
                lbOrderItens.Items.Clear();
            }
            catch (InvalidOperationException error)
            {
                MessageBox.Show(error.Message);
            }
            catch (ArgumentNullException error)
            {
                MessageBox.Show(error.ParamName);
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }
Пример #18
0
        // Method to show details from the delivered order
        private void lbDeliveredOrders_DoubleClick(object sender, EventArgs e)
        {
            if (lbDeliveredOrders.SelectedItem != null)
            {
                //lbDeliveredOrders.SelectedItem.ToString();

                int     id    = Convert.ToInt32(lbDeliveredOrders.SelectedItem.ToString().Substring(0, lbDeliveredOrders.SelectedItem.ToString().IndexOf(':')));
                OrderVO order = GlobalOrders.allOrders.Single <OrderVO>(o => o.Id == id);

                string orderDescription = "#" + order.Id + " " + order.CustomerName + Environment.NewLine + "Itens do pedido:" + Environment.NewLine;

                foreach (string item in order.Itens)
                {
                    orderDescription += item + Environment.NewLine;
                }

                MessageBox.Show(orderDescription);
            }
        }
        public async Task DeleteItemInOrderReturnsOrderWithUpdatedItem()
        {
            var orderID          = "orderID";
            var itemToAddToOrder = new ItemVO {
                id = "item1", quantity = 2
            };

            requestHandler.SendDeleteRequest(END_POINT + "/" + orderID + "/item", itemToAddToOrder).Returns(Task.Run <string>(() => ConvertToJson(new OrderVO {
                orderId = orderID, items = new List <ItemVO> {
                }
            })));

            var expectedResult = new OrderVO {
                orderId = orderID, items = new List <ItemVO> {
                }
            };
            var actualResult = await orderService.RemoveItemFromOrder(orderID, itemToAddToOrder);

            Assert.AreEqual(expectedResult.orderId, actualResult.orderId);
            Assert.AreEqual(expectedResult.items.Count, actualResult.items.Count);
        }
Пример #20
0
    protected void btnSend_Click(object sender, EventArgs e)
    {
        try
        {
            OrderVO ovo = new OrderVO();
            ovo.MemberID     = new Member().SelectByUserName(Session["User"].ToString()).MemberID;
            ovo.OrderDate    = DateTime.Now;
            ovo.RequiredDate = DateTime.Parse(RequiredDate.Text);
            ovo.ShippedDate  = DateTime.Now;
            ovo.Total        = Basket.Instance.GetSubTotal().ToString();
            ovo.ShipAddress  = txtAddress.Text;
            ovo.ShipCity     = txtCity.Text;
            ovo.ShipCountry  = txtCountry.Text;
            ovo.Status       = 1;

            Order_Base order_base = new Order_Base();
            int        orderid    = order_base.Insert(ovo);
            Basket     basket     = Basket.Instance;
            foreach (CartItem i in basket.Items)
            {
                OrdeDetailVO odvo = new OrdeDetailVO();
                odvo.OrderID   = orderid;
                odvo.ProductID = i.ProductId;
                odvo.Price     = i.UnitPrice.ToString();
                odvo.Amount    = i.Quantity;
                odvo.Discount  = 0;
                new OrdeDetail_Base().Insert(odvo);
            }
            basket.Items.Clear();
            Session["ASPNETShoppingCart"] = null;
            Response.Redirect("CreateOrderSuccess.htm");
        }
        catch (Exception ex)
        {
            Utilties.Alert.Show("Có lỗi xảy ra:" + ex.Message);
        }
    }
Пример #21
0
        public bool UpdateShipInfo(OrderVO order)
        {
            OrderDAC dac = new OrderDAC();

            return(dac.UpdateShipInfo(order));
        }
Пример #22
0
        public bool RegisterOrder(OrderVO order, List <OrderDetailVO> ordDetail)
        {
            OrderDAC dac = new OrderDAC();

            return(dac.RegisterOrder(order, ordDetail));
        }
Пример #23
0
        private void btnAddOrder_Click(object sender, EventArgs e)
        {
            //발주버튼
            List <OrderVO> list = new List <OrderVO>();

            foreach (DataGridViewRow row in dgvOrdering.Rows)
            {
                bool isCellChecked = Convert.ToBoolean(row.Cells["chk"].EditedFormattedValue);
                if (isCellChecked)
                {
                    OrderVO vo = new OrderVO();
                    vo.product_codename = row.Cells[3].Value.ToString();

                    for (int i = 0; i < dgvCompany.Rows.Count; i++)
                    {
                        if (dgvCompany.Rows[i].Cells[0].Value.ToString() == row.Cells[2].Value.ToString())
                        {
                            vo.order_id = dgvCompany.Rows[i].Cells[1].Value.ToString();
                        }
                    }

                    vo.order_count = Convert.ToInt32(row.Cells[8].Value);
                    vo.plan_id     = row.Cells[1].Value.ToString().Trim();
                    vo.order_pdate = row.Cells[5].Value.ToString().Trim();

                    list.Add(vo);
                }
            }

            for (int i = 0; i < dgvCompany.Rows.Count; i++)
            {
                List <int> orders = new List <int>();
                int        num    = 1;
                for (int c = 0; c < list.Count; c++)
                {
                    if (dgvCompany.Rows[i].Cells[1].Value.ToString() == list[c].order_id)
                    {
                        if (!orders.Contains(Convert.ToInt32(dgvCompany.Rows[i].Cells[1].Value)))
                        {
                            list[c].order_id += "-" + string.Format("{0:D4}", num);
                            orders.Add(Convert.ToInt32(dgvCompany.Rows[i].Cells[1].Value));
                        }
                        else
                        {
                            list[c].order_id += "-" + string.Format("{0:D4}", num);
                        }
                        num++;
                    }
                }
            }

            if (MessageBox.Show("발주하시겠습니까?", "발주신청", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                try
                {
                    PurchasingService service = new PurchasingService();
                    bool result = service.InsertOrder(list);

                    if (result)
                    {
                        MessageBox.Show("성공적으로 발주 완료하였습니다.", "발주신청", MessageBoxButtons.OK, MessageBoxIcon.Question);
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("발주 실패하였습니다. 다시 시도하여 주십시오.", "발주신청", MessageBoxButtons.OK, MessageBoxIcon.Question);
                        return;
                    }
                }
                catch (Exception err)
                {
                    LoggingUtility.GetLoggingUtility(err.Message, Level.Error);
                }
            }
            else
            {
                return;
            }
        }
Пример #24
0
        // Updates all queues
        private void updateQueues(ListBox from, ListBox to = null)
        {
            switch (from.Name)
            {
            case "lbQueue":

                if (lbQueue.Items.Count == 0 || lbStartedOrders.Items.Count >= 4)
                {
                    return;
                }
                else
                {
                    do
                    {
                        lbStartedOrders.Items.Add(lbQueue.Items[0]);
                        OrderVO hasOrder = Classes.GlobalOrders.allOrders.Single(cus => cus.Id == Convert.ToInt16(lbQueue.Items[0].ToString().Substring(0, lbQueue.Items[0].ToString().IndexOf(':'))));
                        addLog("O pedido de " + hasOrder.CustomerName + " foi atualizado para Iniciado.");
                        lbQueue.Items.RemoveAt(0);
                    } while (lbStartedOrders.Items.Count < 4 && lbQueue.Items.Count > 0);
                }

                break;

            case "lbStartedOrders":

                List <int> idUpdateList = new List <int>();

                for (int n = 0; n < lbStartedOrders.Items.Count; n++)
                {
                    int curTime = Convert.ToInt32(lbStartedOrders.Items[n].ToString().Substring(lbStartedOrders.Items[n].ToString().IndexOf('-') + 1));

                    if (curTime == 1)
                    {
                        idUpdateList.Add(Convert.ToInt16(lbStartedOrders.Items[n].ToString().Substring(0, lbStartedOrders.Items[n].ToString().IndexOf(':'))));
                    }
                    else
                    {
                        lbStartedOrders.Items[n] = lbStartedOrders.Items[n].ToString().Substring(0, lbStartedOrders.Items[n].ToString().IndexOf('-') + 1) + " " + (curTime - 1).ToString();
                    }
                }

                foreach (int id in idUpdateList)
                {
                    List <String> listBoxList = lbStartedOrders.Items.Cast <string>().ToList();
                    int           pos         = listBoxList.FindIndex(c => Convert.ToInt32(c.Substring(0, c.IndexOf(':'))) == id);

                    lbFinishedOrders.Items.Add(lbStartedOrders.Items[pos].ToString().Substring(0, lbStartedOrders.Items[pos].ToString().IndexOf('-')));
                    OrderVO hasOrder = Classes.GlobalOrders.allOrders.Single(cus => cus.Id == Convert.ToInt16(lbStartedOrders.Items[pos].ToString().Substring(0, lbStartedOrders.Items[pos].ToString().IndexOf(':'))));
                    addLog("O pedido de " + hasOrder.CustomerName + " foi atualizado para Finalizado.");
                    lbStartedOrders.Items.Remove(lbStartedOrders.Items[pos]);
                }

                break;

            case "lbFinishedOrders":

                if (lbFinishedOrders.Items.Count > 0)
                {
                    lbDeliveredOrders.Items.Add(lbFinishedOrders.Items[0].ToString());
                    OrderVO found = Classes.GlobalOrders.allOrders.Single(cus => cus.Id == Convert.ToInt16(lbFinishedOrders.Items[0].ToString().Substring(0, lbFinishedOrders.Items[0].ToString().IndexOf(':'))));
                    addLog("O pedido de " + found.CustomerName + " foi Entregue.");
                    lbFinishedOrders.Items.RemoveAt(0);
                }

                break;

            case "lbDeliveredOrders":

                break;
            }
        }
Пример #25
0
 // Updates the orders from status' panels
 private void updateOrder(ListBox toList, OrderVO order)
 {
     toList.Items.Add(order.Id + ": " + order.CustomerName + " - " + order.TotalTime);
 }
Пример #26
0
        /// <summary>
        /// 발주 등록
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        public bool InsertOrder(List <OrderVO> olist, HashSet <int> companySet, string employee_id)
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.Connection = new SqlConnection(this.ConnectionString);
                cmd.Connection.Open();
                SqlTransaction tran = cmd.Connection.BeginTransaction();

                try
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tran;
                    int index  = 0;
                    int result = 0;

                    foreach (int company_id in companySet)
                    {
                        cmd.Parameters.Clear();
                        cmd.CommandText = "SP_ORDER_INSERT";
                        cmd.Parameters.AddWithValue("@company_id", company_id);
                        cmd.Parameters.AddWithValue("@regist_employee", employee_id);
                        int num = Convert.ToInt32(cmd.ExecuteScalar());
                        int cnt = 1;

                        cmd.CommandText = "SP_ORDERDETAIL_INSERT";
                        cmd.Parameters.Clear();

                        cmd.Parameters.Add("@order_no", SqlDbType.Int);
                        cmd.Parameters.Add("@product_id", SqlDbType.Int);
                        cmd.Parameters.Add("@order_seq", SqlDbType.Int);
                        cmd.Parameters.Add("@order_request_quantity", SqlDbType.Int);
                        cmd.Parameters.Add("@order_status", SqlDbType.VarChar, 20);
                        cmd.Parameters.Add("@order_request_date", SqlDbType.DateTime);
                        cmd.Parameters.Add("@order_product_price", SqlDbType.Decimal);

                        for (; index < olist.Count; index++)
                        {
                            OrderVO item = olist[index];

                            if (item.company_id != company_id)  //같으면 더하고 아니면 break 시키기
                            {
                                break;
                            }

                            cmd.Parameters["@order_no"].Value               = num;
                            cmd.Parameters["@product_id"].Value             = item.product_id;
                            cmd.Parameters["@order_seq"].Value              = cnt;
                            cmd.Parameters["@order_request_quantity"].Value = item.order_request_quantity;
                            cmd.Parameters["@order_status"].Value           = item.order_status;
                            cmd.Parameters["@order_request_date"].Value     = item.order_request_date;
                            cmd.Parameters["@order_product_price"].Value    = item.order_price;

                            cnt++;

                            result += cmd.ExecuteNonQuery();
                        }
                        num = 0;
                    }


                    tran.Commit();

                    if (result > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception err)
                {
                    tran.Rollback();
                    throw err;
                }
            }
        }
Пример #27
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            dgvOrder.EndEdit();

            List <OrderVO> olist = new List <OrderVO>();
            List <int>     cnt   = new List <int>();

            foreach (DataGridViewRow row in dgvOrder.Rows)
            {
                DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dgvOrder[0, row.Index];

                if (chk.Value == null)
                {
                    continue;
                }

                else if ((bool)chk.Value == true)
                {
                    cnt.Add(1);
                }
            }

            if (cnt.Count < 1)
            {
                MessageBox.Show("발주 할 내역을 선택해주세요.");
                return;
            }

            //dgvOrder.Sort(dgvOrder.Columns["company_id"], ListSortDirection.Ascending);
            HashSet <int> companySet  = new HashSet <int>();
            string        employee_id = "admin";

            for (int i = 0; i < dgvOrder.RowCount; i++)
            {
                if (dgvOrder.Rows[i].Cells[0].Value != null)
                {
                    bool IsCheck = (bool)dgvOrder.Rows[i].Cells[0].Value;

                    if (IsCheck && dgvOrder.Rows[i].Cells[10].Value != null)
                    {
                        int c_id = Convert.ToInt32(dgvOrder.Rows[i].Cells[3].Value);

                        OrderVO orderVO = new OrderVO();

                        orderVO.company_id             = c_id;
                        orderVO.product_id             = Convert.ToInt32(dgvOrder.Rows[i].Cells["_product_id"].Value);
                        orderVO.order_request_quantity = Convert.ToInt32(dgvOrder.Rows[i].Cells[10].Value);
                        orderVO.order_status           = "발주중";
                        orderVO.order_seq          = 1;
                        orderVO.order_request_date = DateTime.Now;
                        orderVO.order_price        = Convert.ToDecimal(dgvOrder.Rows[i].Cells["order_product_price"].Value);

                        olist.Add(orderVO);
                        companySet.Add(c_id);
                    }
                    else if (IsCheck && dgvOrder.Rows[i].Cells[10].Value != null)
                    {
                        MessageBox.Show("발주 수량을 입력하지 않았습니다.");
                        return;
                    }
                }
            }

            if (olist.Count > 0)
            {
                orderService.InsertOrder(olist, companySet, employee_id);

                MessageBox.Show("발주 되었습니다. ");
                this.Close();
            }
            else
            {
                MessageBox.Show("발주 실패");
            }
        }
Пример #28
0
        public bool UpdateOrderDate(OrderVO vo)
        {
            PurchasingDAC dac = new PurchasingDAC();

            return(dac.UpdateOrderDate(vo));
        }
Пример #29
0
 public EditDatePop(OrderVO vo)
 {
     InitializeComponent();
     this.vo = vo;
 }