/// <summary>
        /// Method called by Controller to insert the order with the database structure, receiving only the client description of order.
        /// </summary>
        /// <param name="orderViewModel"></param>
        /// <returns></returns>
        public static bool InsertOrder(OrderViewModel orderViewModel)
        {
            try
            {
                var           context  = new RestaurantDBContext();
                List <string> itemList = new List <string>();
                List <int>    numbers  = new List <int>();
                itemList = orderViewModel.OrderDescription.Split(",").ToList();
                OrderObj order = GetOrderObj(itemList.FirstOrDefault().ToLower().Trim());
                itemList.RemoveRange(0, 1);
                numbers = ValidateOrder(itemList);

                if (numbers != null && numbers.Count > 0)
                {
                    OrderAccess.AddOrder(order);
                    return(InsertAllOrderItems(numbers));
                }

                return(false);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #2
0
 public async Task <ActionResult <OrderObjRespObj> > UpdateOrder(OrderObj model)
 {
     try
     {
         var response = _order.UpdateOrder(model);
         return(new OrderObjRespObj
         {
             Status = new ApiResponseStatus {
                 IsSuccessful = response ? true : false, Message = new APIResponseMessage {
                     FriendlyMessage = response ? "Successful" : "Unsuccessful"
                 }
             }
         });
     }
     catch (Exception ex)
     {
         return(new OrderObjRespObj
         {
             Status = new ApiResponseStatus {
                 IsSuccessful = false, Message = new APIResponseMessage {
                     FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message
                 }
             }
         });
     }
 }
Beispiel #3
0
        public ActionResult DeleteDetail()
        {
            if (!AppData.IsManagerLogin)
            {
                return(Json(new { success = false, msg = "您未登录后台或会话已过期" }));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1101))
            {
                return(Json(new { success = false, msg = "您没有执行该操作的权限" }));
            }

            Validation validation = new Validation();
            int        orderId    = validation.GetInt("orderId");
            int        detailId   = validation.GetInt("detailId");

            OrderBLL orderBLL = new OrderBLL();
            OrderObj orderObj = orderBLL.GetOrderByID(orderId);

            if (orderObj == null)
            {
                return(Json(new { success = false, msg = "该订单不存在" }));
            }
            if (orderObj.Status == 2)
            {
                return(Json(new { success = false, msg = "已取消的订单不可修改" }));
            }

            orderBLL.DeleteDetail(orderId, detailId);

            return(Json(new { success = true }));
        }
Beispiel #4
0
        public ActionResult ModifyServiceMemo()
        {
            if (!AppData.IsManagerLogin)
            {
                return(Json(new { success = false, msg = "您未登录后台或会话已过期" }));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1103))
            {
                return(Json(new { success = false, msg = "您没有执行该操作的权限" }));
            }

            Validation validation = new Validation();
            int        orderId    = validation.GetInt("orderId");

            OrderBLL orderBLL = new OrderBLL();
            OrderObj orderObj = orderBLL.GetOrderByID(orderId);

            if (orderObj == null)
            {
                return(Json(new { success = false, msg = "该订单不存在" }));
            }

            orderObj.ServiceMemo = validation.Get("serviceMemo");

            orderBLL.ModifyServiceMemo(orderObj);
            return(Json(new { success = true }));
        }
Beispiel #5
0
        public ActionResult OrderModify(int id)
        {
            if (!AppData.IsManagerLogin)
            {
                return(Redirect("/Manage/Error/1.html"));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1101))
            {
                return(Redirect("/Manage/Error/2.html"));
            }

            OrderBLL orderBLL = new OrderBLL();
            OrderObj orderObj = orderBLL.GetOrderByID(id);

            if (orderObj.Status == 2)
            {
                return(Content("已取消的订单不可修改!"));
            }

            ViewBag.orderInfo = orderObj;
            if (orderObj.PayStatus == 0)
            {
                return(View("OrderModify"));
            }
            else
            {
                return(View("PayedOrderModify"));
            }
        }
Beispiel #6
0
        public ActionResult ModifyOrder()
        {
            if (!AppData.IsManagerLogin)
            {
                return(Json(new { success = false, msg = "您未登录后台或会话已过期" }));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1101))
            {
                return(Json(new { success = false, msg = "您没有执行该操作的权限" }));
            }

            Validation validation = new Validation();
            int        orderId    = validation.GetInt("orderId");

            OrderBLL orderBLL = new OrderBLL();
            OrderObj orderObj = orderBLL.GetOrderByID(orderId);

            if (orderObj == null)
            {
                return(Json(new { success = false, msg = "该订单不存在" }));
            }
            if (orderObj.Status == 2)
            {
                return(Json(new { success = false, msg = "已取消的订单不可修改" }));
            }

            if (orderObj.PayStatus == 0)
            {
                orderObj.Address  = validation.Get("address", false, "详细地址不可为空");
                orderObj.Receiver = validation.Get("receiver", false, "收货人不可为空");
                orderObj.Zip      = validation.Get("zip");
                orderObj.CityID   = validation.GetInt("cityId", false, "收货人不可为空");
                orderObj.RegionID = validation.GetInt("regionId");
                orderObj.Phone    = validation.Get("phone");
                orderObj.Mobile   = validation.Get("mobile");
                orderObj.Freight  = validation.GetDecimal("freight");
                string data = validation.Get("data", false, "", @"^\d+\|\d+(\.\d+){0,1}(,\d+\|\d+(\.\d+){0,1})*$");

                if (validation.HasError)
                {
                    return(Json(new { success = false, msg = "请查看您的填写是否完整,或输入的信息是否有误!", errors = validation.GetErrors() }));
                }

                IDictionary <int, decimal> perf = new Dictionary <int, decimal>();

                string[] arrData = data.Split(',');
                string[] nameValue;
                for (int i = 0; i < arrData.Length; i++)
                {
                    nameValue = arrData[i].Split('|');
                    perf.Add(int.Parse(nameValue[0]), decimal.Parse(nameValue[1]));
                }

                orderBLL.ModifyOrder(orderObj, perf);
            }

            return(Json(new { success = true }));
        }
 public static OrderViewModel GetOrder(OrderObj order)
 {
     return(new OrderViewModel
     {
         Id = order.Id,
         OrderDate = order.OrderDate.ToString("dd/MM/yyyy HH:mm"),
         OrderDescription = GetOrderDescriptionFromOrder(order)
     });
 }
Beispiel #8
0
        public void ModifyServiceMemo(OrderObj orderObj)
        {
            using (helper = new SqlHelper())
            {
                helper.AddIntParameter("@OrderID", orderObj.OrderID);
                helper.AddStringParameter("@ServiceMemo", 2000, orderObj.ServiceMemo);

                string sql = "update Orders set ServiceMemo=@ServiceMemo where OrderID=@OrderID";
                helper.ExecuteNonQuery(sql, CommandType.Text);
            }
        }
Beispiel #9
0
        public bool UpdateOrder(OrderObj entity)
        {
            try
            {
                if (entity == null)
                {
                    return(false);
                }

                if (entity.OrderId > 0)
                {
                    var itemExist = _context.Order.FirstOrDefault(x => x.OrderId == entity.OrderId);
                    if (itemExist != null)
                    {
                        itemExist.CustomerId     = entity.CustomerId;
                        itemExist.MenuId         = entity.MenuId;
                        itemExist.RequestDate    = entity.RequestDate;
                        itemExist.Quantity       = entity.Quantity;
                        itemExist.ActualCost     = entity.ActualCost;
                        itemExist.DeliveryStatus = entity.DeliveryStatus;
                        itemExist.Active         = true;
                        itemExist.Deleted        = false;
                        itemExist.UpdatedBy      = entity.UpdatedBy;
                        itemExist.UpdatedOn      = DateTime.Now;
                    }
                }
                else
                {
                    var item = new Order
                    {
                        CustomerId     = entity.CustomerId,
                        MenuId         = entity.MenuId,
                        RequestDate    = DateTime.Now,
                        Quantity       = entity.Quantity,
                        ActualCost     = entity.ActualCost,
                        DeliveryStatus = entity.DeliveryStatus,
                        Active         = true,
                        Deleted        = false,
                        CreatedBy      = entity.CreatedBy,
                        CreatedOn      = DateTime.Now,
                    };
                    _context.Order.Add(item);
                }

                var response = _context.SaveChanges() > 0;

                return(response);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #10
0
        public async Task <ActionResult <RegBookResponseObj> > CheckInBook([FromBody] OrderObj requestObj)
        {
            OrderCommand command  = _mapper.Map <OrderCommand>(requestObj);
            var          response = await _mediator.Send(command);

            if (response.OrderId < 1 || !response.Status.IsSuccessful)
            {
                return(BadRequest(response));
            }
            var locatioUri = _uriService.GetBookUri(response.OrderId.ToString());

            return(Created(locatioUri, response));
        }
Beispiel #11
0
 public static void AddOrder(OrderObj order)
 {
     try
     {
         using (var context = new RestaurantDBContext())
         {
             context.OrderObjs.Add(order);
             context.SaveChanges();
         }
     }
     catch
     {
         return;
     }
 }
Beispiel #12
0
        public void ModifyLogistic(OrderObj orderObj)
        {
            using (helper = new SqlHelper())
            {
                helper.AddIntParameter("@OrderID", orderObj.OrderID);
                helper.AddStringParameter("@Logistics", 50, orderObj.Logistics);
                helper.AddStringParameter("@LogisticsCode", 50, orderObj.LogisticsCode);
                helper.AddBoolenParameter("@IsConsigned", orderObj.IsConsigned);
                helper.AddStringParameter("@TransportType", 50, orderObj.TransportType);
                helper.AddIntParameter("@Status", orderObj.Status);
                helper.AddIntParameter("@ExpressID", orderObj.ExpressID);

                string sql = "update Orders set IsConsigned=@IsConsigned,Logistics=@Logistics,LogisticsCode=@LogisticsCode,TransportType=@TransportType,Status=@Status,ExpressID=@ExpressID where OrderID=@OrderID";
                helper.ExecuteNonQuery(sql, CommandType.Text);
            }
        }
    static void Main(string[] args)
    {
        //Generic type instantiation using reference type
        OrderContainer <OrderObj> orderObjContainer = new OrderContainer <OrderObj>(10);

        //Add and retrieve reference type order
        orderObjContainer.AddOrder(new OrderObj());
        OrderObj orderObj = orderObjContainer.GetOrder(0);

        //Generic type instantiation using value type
        OrderContainer <OrderStruct> orderStructContainer = new OrderContainer <OrderStruct>(10);

        //Add and retrieve value type order
        orderStructContainer.AddOrder(new OrderStruct());
        OrderStruct orderStruct = orderStructContainer.GetOrder(0);
    }
Beispiel #14
0
        public ActionResult OrderServiceMemo()
        {
            if (Request.HttpMethod != "POST")
            {
                if (!AppData.IsManagerLogin)
                {
                    return(Redirect("/Manage/Error/1.html"));
                }
                if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1103))
                {
                    return(Redirect("/Manage/Error/2.html"));
                }

                Validation vld = new Validation(false);
                int        id  = vld.GetInt("id");

                OrderBLL orderBLL = new OrderBLL();
                OrderObj orderObj = orderBLL.GetOrderByID(id);

                ViewBag.id          = id;
                ViewBag.serviceMemo = orderObj.ServiceMemo;

                return(View());
            }
            else
            {
                if (!AppData.IsManagerLogin)
                {
                    return(Json(new { success = false, msg = "您未登录后台或会话已过期" }));
                }
                if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1103))
                {
                    return(Json(new { success = false, msg = "您没有执行该操作的权限" }));
                }

                OrderBLL orderBLL = new OrderBLL();

                Validation vld      = new Validation();
                OrderObj   orderObj = new OrderObj();
                orderObj.OrderID     = vld.GetInt("id");
                orderObj.ServiceMemo = vld.Get("serviceMemo");

                orderBLL.ModifyServiceMemo(orderObj);

                return(Json(new { success = true }));
            }
        }
Beispiel #15
0
        public void CancelOrder(OrderObj orderObj)
        {
            using (helper = new SqlHelper())
            {
                helper.BeginTran();

                helper.AddIntParameter("@OrderID", orderObj.OrderID);

                string sql = "update Orders set Status=2 where OrderID=@OrderID";
                helper.ExecuteNonQuery(sql, CommandType.Text);

                sql = "update a set a.Quantity=a.Quantity+b.Quantity from Products a inner join OrderDetails b on a.ProductID=b.ProductID where OrderID=@OrderID";
                helper.ExecuteNonQuery(sql, CommandType.Text);

                helper.CommitTran();
            }
        }
Beispiel #16
0
        private void frmViewOrder_Load(object sender, EventArgs e)
        {
            try
            {
                if (IsCreatePO)
                {
                    dgvDetails.Columns[7].Visible = false;
                    dgvDetails.Columns[8].Visible = false;
                }

                OrderObj ord = Order.GetByOrderNumber(OrderNumber);
                List <OrderDetailObj> odo = OrderDetail.GetByOrderNumber(OrderNumber, PONumber, PODate);
                lblBalanceDue.Text             = ord.BalanceDue.ToString("$0.00");
                lblCartName.Text               = ord.CartName;
                lblComment.Text                = ord.Comment;
                lblCustomerAddress.Text        = ord.CustomerAddress;
                lblCustomerAddress2.Text       = ord.CustomerAddress2;
                lblCustomerCity.Text           = ord.CustomerCity;
                lblCustomerCompany.Text        = ord.CustomerCompany;
                lblCustomerCountry.Text        = ord.CustomerCountry;
                lblCustomerEmail.Text          = ord.CustomerEmail;
                lblCustomerName.Text           = ord.CustomerName;
                lblCustomerPhone.Text          = ord.CustomerPhone;
                lblCustomerState.Text          = ord.CustomerState;
                lblCustomerZip.Text            = ord.CustomerZip;
                lblOrderDate.Text              = ord.OrderDate == DateTime.MinValue?"": ord.OrderDate.ToShortDateString();
                lblOrderNumber.Text            = ord.OrderNumber.ToString();
                lblShipAddress.Text            = ord.ShipAddress;
                lblShipAddress2.Text           = ord.ShipAddress2;
                lblShipCity.Text               = ord.ShipCity;
                lblShipCompany.Text            = ord.ShipCompany;
                lblShipCountry.Text            = ord.ShipCountry;
                lblShipName.Text               = ord.ShipName;
                lblShipPhone.Text              = ord.ShipPhone;
                lblShipState.Text              = ord.ShipState;
                lblShipZip.Text                = ord.ShipZip;
                lblSOrderNumber.Text           = ord.SourceOrderNumber.ToString();
                dgvDetails.AutoGenerateColumns = false;
                dgvDetails.DataSource          = odo;
                dgvDetails.Refresh();
            }
            catch (Exception)
            {
            }
        }
Beispiel #17
0
    static void Main(string[] args)
    {
        //create order container to store reference type orders
        OrderContainer orderObjContainer = new OrderContainer(10);

        //Adding orders of reference type
        orderObjContainer.AddOrder(new OrderObj());
        //Cast Operation
        OrderObj orderObj = orderObjContainer.GetOrder(0) as OrderObj;

        //create order container to store value type orders
        OrderContainer orderStructContainer = new OrderContainer(10);

        //Adding orders of value type
        //Boxing Cost
        orderStructContainer.AddOrder(new OrderStruct());
        //Unboxing Cost
        object orderStruct = orderStructContainer.GetOrder(0);
    }
Beispiel #18
0
        public ActionResult UserExchange(int id)
        {
            UserObj user = AppData.SessionUser;

            if (user == null)
            {
                return(Redirect("/Login.html"));
            }

            ExchangeBLL exchangeBLL  = new ExchangeBLL();
            var         exchangeInfo = exchangeBLL.GetExchangeByID(id);

            if (exchangeInfo == null)
            {
                return(Redirect("/Error/2.html"));
            }

            OrderBLL   orderBLL   = new OrderBLL();
            ProductBLL productBLL = new ProductBLL();
            AreaBLL    areaBLL    = new AreaBLL();

            OrderObj orderObj = orderBLL.GetOrderByID(exchangeInfo.OrderID);

            if (orderObj == null || user.UserID != orderObj.UserID)
            {
                return(Redirect("/Error/2.html"));
            }

            ViewBag.returnProduct = productBLL.GetProduct(exchangeInfo.ReturnProductID);


            if (exchangeInfo.ExchangeProductID != 0)
            {
                ViewBag.exchangeProduct = productBLL.GetProduct(exchangeInfo.ExchangeProductID);
            }

            ViewBag.exchangeInfo = exchangeInfo;
            ViewBag.order        = orderObj;
            ViewBag.area         = areaBLL.GetAreaByRetionID(exchangeInfo.RegionID);

            return(View());
        }
Beispiel #19
0
        public void ModifyOrder(OrderObj orderObj, IDictionary <int, decimal> discount)
        {
            using (helper = new SqlHelper())
            {
                helper.BeginTran();

                helper.AddIntParameter("@DetailID", 0);
                helper.AddDecimalParameter("@Discount", 0);
                string sql = "update OrderDetails set Discount=@Discount where DetailID=@DetailID";

                foreach (KeyValuePair <int, decimal> item in discount)
                {
                    helper.SetParameter("@DetailID", item.Key);
                    helper.SetParameter("@Discount", item.Value);

                    helper.ExecuteNonQuery(sql, CommandType.Text);
                }
                helper.ClearParameters();

                helper.AddIntParameter("@OrderID", orderObj.OrderID);
                sql             = "select sum(OrignalPrice*Quantity-Discount) from OrderDetails where OrderID=@OrderID";
                orderObj.Amount = helper.GetDecimalValue(sql, CommandType.Text);

                helper.AddDateTimeParameter("@CreationTime", orderObj.CreationTime);
                helper.AddStringParameter("@Memo", 2000, orderObj.Memo);
                helper.AddStringParameter("@Receiver", 50, orderObj.Receiver);
                helper.AddIntParameter("@CityID", orderObj.CityID);
                helper.AddIntParameter("@RegionID", orderObj.RegionID);
                helper.AddStringParameter("@Address", 400, orderObj.Address);
                helper.AddStringParameter("@Zip", 20, orderObj.Zip);
                helper.AddStringParameter("@Mobile", 50, orderObj.Mobile);
                helper.AddStringParameter("@Phone", 50, orderObj.Phone);
                helper.AddDecimalParameter("@Amount", orderObj.Amount);
                helper.AddDecimalParameter("@Freight", orderObj.Freight);

                sql = "update Orders set CreationTime=@CreationTime,Memo=@Memo,Receiver=@Receiver,CityID=@CityID,RegionID=@RegionID,Address=@Address,Zip=@Zip,Mobile=@Mobile,Phone=@Phone,Amount=@Amount,Freight=@Freight where OrderID=@OrderID";
                helper.ExecuteNonQuery(sql, CommandType.Text);

                helper.CommitTran();
            }
        }
Beispiel #20
0
        public ActionResult GetSurveyByID(int orderID)
        {
            if (!AppData.IsManagerLogin)
            {
                return(Json(new { success = false, msg = "您未登录后台或会话已过期" }));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 1105))
            {
                return(Json(new { success = false, msg = "您没有执行该操作的权限" }));
            }

            OrderBLL orderBLL = new OrderBLL();
            OrderObj orderObj = orderBLL.GetOrderByID(orderID);

            if (orderObj == null)
            {
                return(Json(new { success = false, msg = "该订单不存在!" }));
            }

            var res = orderBLL.GetSurveyByID(orderID);

            return(Json(new { success = true, data = res }));
        }
Beispiel #21
0
        public ActionResult ViewReturnExchange(int id)
        {
            if (!AppData.IsManagerLogin)
            {
                return(Redirect("/Manage/Error/1.html"));
            }
            if (PrivilegeBLL.HasNotPrivilege(AppData.SessionUserID, 20))
            {
                return(Redirect("/Manage/Error/2.html"));
            }

            ExchangeBLL exchangeBLL  = new ExchangeBLL();
            var         exchangeInfo = exchangeBLL.GetExchangeByID(id);

            UserBLL    userBLL    = new UserBLL();
            OrderBLL   orderBLL   = new OrderBLL();
            ProductBLL productBLL = new ProductBLL();
            AreaBLL    areaBLL    = new AreaBLL();
            OrderObj   orderObj   = orderBLL.GetOrderByID(exchangeInfo.OrderID);

            ViewBag.returnProduct = productBLL.GetProduct(exchangeInfo.ReturnProductID);


            if (exchangeInfo.ExchangeProductID != 0)
            {
                ViewBag.exchangeProduct = productBLL.GetProduct(exchangeInfo.ExchangeProductID);
            }

            ViewBag.exchangeInfo = exchangeInfo;
            ViewBag.order        = orderObj;
            ViewBag.userInfo     = userBLL.GetUserByID(orderObj.UserID);
            ViewBag.userInfo     = userBLL.GetUserByID(orderObj.UserID);
            ViewBag.area         = areaBLL.GetAreaByRetionID(exchangeInfo.RegionID);

            return(View());
        }
Beispiel #22
0
        public IList <Tuple <ExchangeInfo, OrderObj, ProductObj, ProductObj> > GetExchange(int userID, int?orderID = null)
        {
            using (dbc = new SqlHelper())
            {
                string sql = "select a.ExchangeID,a.OrderID,a.AddTime,a.Mobile,a.Phone,a.Address,a.RegionID,a.Zip,a.ReturnProductID,a.ReturnQty,a.ExchangeProductID,a.ExchangeQty,a.Reason,b.OrderCode,b.Receiver,c.Name as ExchangeProductName,c.Price as ExchangeProductPrice,c.IsOnSale as ExchangeProductIsOnSale,c.SpecialPrice as ExchangeProductSpecialPrice,d.Name as ReturnProductName,d.Price as ReturnProductPrice,d.IsOnSale as ReturnProductIsOnSale,d.SpecialPrice as ReturnProductSpecialPrice from Exchange a inner join Orders b on a.OrderID=b.OrderID inner join Products c on a.ExchangeProductID=c.ProductID inner join Products d on a.ReturnProductID=d.ProductID where UserID=@UserID";
                dbc.AddIntParameter("@UserID", userID);
                if (orderID != null)
                {
                    dbc.AddIntParameter("@OrderID", (int)orderID);
                    sql += " and a.OrderID=@OrderID";
                }

                IList <Tuple <ExchangeInfo, OrderObj, ProductObj, ProductObj> > result = null;

                dbc.Read(sql, System.Data.CommandType.Text, dr =>
                {
                    if (dr.HasRows)
                    {
                        result = new List <Tuple <ExchangeInfo, OrderObj, ProductObj, ProductObj> >();
                        ExchangeInfo exchangeInfo;
                        OrderObj orderObj;
                        ProductObj returnProduct;
                        ProductObj exchangeProduct;
                        while (dr.Read())
                        {
                            exchangeInfo                   = new ExchangeInfo();
                            exchangeInfo.ExchangeID        = dr["ExchangeID"] == DBNull.Value ? 0 : (int)dr["ExchangeID"];
                            exchangeInfo.OrderID           = dr["OrderID"] == DBNull.Value ? 0 : (int)dr["OrderID"];
                            exchangeInfo.AddTime           = dr["AddTime"] == DBNull.Value ? DateTime.MinValue : (DateTime)dr["AddTime"];
                            exchangeInfo.Mobile            = dr["Mobile"] == DBNull.Value ? null : (string)dr["Mobile"];
                            exchangeInfo.Phone             = dr["Phone"] == DBNull.Value ? null : (string)dr["Phone"];
                            exchangeInfo.Address           = dr["Address"] == DBNull.Value ? null : (string)dr["Address"];
                            exchangeInfo.RegionID          = dr["RegionID"] == DBNull.Value ? 0 : (int)dr["RegionID"];
                            exchangeInfo.Zip               = dr["Zip"] == DBNull.Value ? null : (string)dr["Zip"];
                            exchangeInfo.ReturnProductID   = dr["ReturnProductID"] == DBNull.Value ? 0 : (int)dr["ReturnProductID"];
                            exchangeInfo.ReturnQty         = dr["ReturnQty"] == DBNull.Value ? 0 : (int)dr["ReturnQty"];
                            exchangeInfo.ExchangeProductID = dr["ExchangeProductID"] == DBNull.Value ? 0 : (int)dr["ExchangeProductID"];
                            exchangeInfo.ExchangeQty       = dr["ExchangeQty"] == DBNull.Value ? 0 : (int)dr["ExchangeQty"];
                            exchangeInfo.Reason            = dr["Reason"] == DBNull.Value ? null : (string)dr["Reason"];

                            orderObj           = new OrderObj();
                            orderObj.OrderID   = exchangeInfo.OrderID;
                            orderObj.OrderCode = dr["OrderCode"] == DBNull.Value ? null : (string)dr["OrderCode"];
                            orderObj.Receiver  = dr["Receiver"] == DBNull.Value ? null : (string)dr["Receiver"];

                            returnProduct              = new ProductObj();
                            returnProduct.ProductID    = exchangeInfo.ReturnProductID;
                            returnProduct.Name         = dr["ReturnProductName"] == DBNull.Value ? null : (string)dr["ReturnProductName"];
                            returnProduct.Price        = dr["ReturnProductPrice"] == DBNull.Value ? 0 : (decimal)dr["ReturnProductPrice"];
                            returnProduct.IsOnSale     = dr["ReturnProductIsOnSale"] == DBNull.Value ? false : (bool)dr["ReturnProductIsOnSale"];
                            returnProduct.Price        = dr["ReturnProductPrice"] == DBNull.Value ? 0 : (decimal)dr["ReturnProductPrice"];
                            returnProduct.SpecialPrice = dr["ReturnProductSpecialPrice"] == DBNull.Value ? 0 : (decimal)dr["ReturnProductSpecialPrice"];

                            exchangeProduct              = new ProductObj();
                            exchangeProduct.ProductID    = exchangeInfo.ExchangeProductID;
                            exchangeProduct.Name         = dr["ExchangeProductName"] == DBNull.Value ? null : (string)dr["ExchangeProductName"];
                            exchangeProduct.Price        = dr["ExchangeProductPrice"] == DBNull.Value ? 0 : (decimal)dr["ExchangeProductPrice"];
                            exchangeProduct.IsOnSale     = dr["ExchangeProductIsOnSale"] == DBNull.Value ? false : (bool)dr["ExchangeProductIsOnSale"];
                            exchangeProduct.Price        = dr["ExchangeProductPrice"] == DBNull.Value ? 0 : (decimal)dr["ExchangeProductPrice"];
                            exchangeProduct.SpecialPrice = dr["ExchangeProductSpecialPrice"] == DBNull.Value ? 0 : (decimal)dr["ExchangeProductSpecialPrice"];

                            result.Add(new Tuple <ExchangeInfo, OrderObj, ProductObj, ProductObj>(exchangeInfo, orderObj, returnProduct, exchangeProduct));
                        }
                    }
                });

                return(result);
            }
        }
Beispiel #23
0
        public OrderObj GetOrderByID(int orderId)
        {
            using (helper = new SqlHelper())
            {
                helper.AddIntParameter("@OrderID", orderId);
                string sql = "select OrderCode,CreationTime,Status,PayType,PayStatus,Memo,UserID,Receiver,IP,a.CityID,a.RegionID,Address,Zip,Mobile,Phone,OriginalAmount,Amount,Freight,EarnestMoney,Measurement,IsDistribute,IsConsigned,Logistics,LogisticsCode,LogisticStatus,SignIn,Score,Comments,CityName,ProvinceName,RegionName,c.ProvinceID,PayedTime,BuyerEmail,ServiceMemo,TransportType,TradeNo,a.ExpressID,ExpressName,ExpressUrl from Orders a inner join City b on a.CityID=b.CityID inner join Province c on c.ProvinceID=b.ProvinceID left join Region d on d.RegionID=a.RegionID left join Express e on e.ExpressID=a.ExpressID where OrderID=@OrderID";

                using (SqlDataReader dr = helper.ExecuteReader(sql, CommandType.Text))
                {
                    if (dr.HasRows && dr.Read())
                    {
                        OrderObj orderObj = new OrderObj();
                        orderObj.OrderID        = orderId;
                        orderObj.OrderCode      = dr[0] == DBNull.Value ? null : (string)dr[0];
                        orderObj.CreationTime   = dr[1] == DBNull.Value ? DateTime.MinValue : (DateTime)dr[1];
                        orderObj.Status         = dr[2] == DBNull.Value ? 0 : (int)dr[2];
                        orderObj.PayType        = dr[3] == DBNull.Value ? 1 : (int)dr[3];
                        orderObj.PayStatus      = dr[4] == DBNull.Value ? 0 : (int)dr[4];
                        orderObj.Memo           = dr[5] == DBNull.Value ? null : (string)dr[5];
                        orderObj.UserID         = dr[6] == DBNull.Value ? 0 : (int)dr[6];
                        orderObj.Receiver       = dr[7] == DBNull.Value ? null : (string)dr[7];
                        orderObj.IP             = dr[8] == DBNull.Value ? null : (string)dr[8];
                        orderObj.CityID         = dr[9] == DBNull.Value ? 0 : (int)dr[9];
                        orderObj.RegionID       = dr[10] == DBNull.Value ? 0 : (int)dr[10];
                        orderObj.Address        = dr[11] == DBNull.Value ? null : (string)dr[11];
                        orderObj.Zip            = dr[12] == DBNull.Value ? null : (string)dr[12];
                        orderObj.Mobile         = dr[13] == DBNull.Value ? null : (string)dr[13];
                        orderObj.Phone          = dr[14] == DBNull.Value ? null : (string)dr[14];
                        orderObj.OriginalAmount = dr[15] == DBNull.Value ? 0 : (decimal)dr[15];
                        orderObj.Amount         = dr[16] == DBNull.Value ? 0 : (decimal)dr[16];
                        orderObj.Freight        = dr[17] == DBNull.Value ? 0 : (decimal)dr[17];
                        orderObj.EarnestMoney   = dr[18] == DBNull.Value ? 0 : (decimal)dr[18];
                        orderObj.Measurement    = dr[19] == DBNull.Value ? 0 : (int)dr[19];
                        orderObj.IsDistribute   = dr[20] == DBNull.Value ? false : (bool)dr[20];
                        orderObj.IsConsigned    = dr[21] == DBNull.Value ? false : (bool)dr[21];
                        orderObj.Logistics      = dr[22] == DBNull.Value ? null : (string)dr[22];
                        orderObj.LogisticsCode  = dr[23] == DBNull.Value ? null : (string)dr[23];
                        orderObj.LogisticStatus = dr[24] == DBNull.Value ? 0 : (int)dr[24];
                        orderObj.SignIn         = dr[25] == DBNull.Value ? false : (bool)dr[25];
                        orderObj.Score          = dr[26] == DBNull.Value ? 0 : (int)dr[26];
                        orderObj.Comments       = dr[27] == DBNull.Value ? null : (string)dr[27];

                        orderObj.CityName      = dr[28] == DBNull.Value ? null : (string)dr[28];
                        orderObj.ProvinceName  = dr[29] == DBNull.Value ? null : (string)dr[29];
                        orderObj.RegionName    = dr[30] == DBNull.Value ? null : (string)dr[30];
                        orderObj.ProvinceID    = dr[31] == DBNull.Value ? 0 : (int)dr[31];
                        orderObj.PayedTime     = dr[32] == DBNull.Value ? DateTime.MinValue : (DateTime)dr[32];
                        orderObj.BuyerEmail    = dr[33] == DBNull.Value ? null : (string)dr[33];
                        orderObj.ServiceMemo   = dr[34] == DBNull.Value ? null : (string)dr[34];
                        orderObj.TransportType = dr[35] == DBNull.Value ? null : (string)dr[35];
                        orderObj.TradeNo       = dr[36] == DBNull.Value ? null : (string)dr[36];
                        orderObj.ExpressID     = dr[37] == DBNull.Value ? 0 : (int)dr[37];
                        orderObj.ExpressName   = dr[38] == DBNull.Value ? null : (string)dr[38];
                        orderObj.ExpressUrl    = dr[39] == DBNull.Value ? null : (string)dr[39];

                        return(orderObj);
                    }
                    return(null);
                }
            }
        }
Beispiel #24
0
 public void ModifyLogistic(OrderObj orderObj)
 {
     dal.ModifyLogistic(orderObj);
 }
Beispiel #25
0
        public int AddOrder(OrderObj orderObj)
        {
            using (helper = new SqlHelper())
            {
                string sql = "insert into Orders (CreationTime,Status,PayType,PayStatus,Memo,UserID,Receiver,IP,CityID,RegionID,Address,Zip,Mobile,Phone,OriginalAmount,Amount,Freight) values (@CreationTime,@Status,@PayType,@PayStatus,@Memo,@UserID,@Receiver,@IP,@CityID,@RegionID,@Address,@Zip,@Mobile,@Phone,@OriginalAmount,@Amount,@Freight) select @OrderID=@@IDENTITY";

                helper.BeginTran();

                SqlParameter orderIDParam = helper.AddOutputParameter("@OrderID");
                helper.AddDateTimeParameter("@CreationTime", orderObj.CreationTime);
                helper.AddIntParameter("@Status", orderObj.Status);
                helper.AddIntParameter("@PayType", orderObj.PayType);
                helper.AddIntParameter("@PayStatus", orderObj.PayStatus);
                helper.AddStringParameter("@Memo", 2000, orderObj.Memo);
                helper.AddIntParameter("@UserID", orderObj.UserID);
                helper.AddStringParameter("@Receiver", 50, orderObj.Receiver);
                helper.AddStringParameter("@IP", 50, orderObj.IP);
                helper.AddIntParameter("@CityID", orderObj.CityID);
                helper.AddIntParameter("@RegionID", orderObj.RegionID);
                helper.AddStringParameter("@Address", 400, orderObj.Address);
                helper.AddStringParameter("@Zip", 20, orderObj.Zip);
                helper.AddStringParameter("@Mobile", 50, orderObj.Mobile);
                helper.AddStringParameter("@Phone", 50, orderObj.Phone);
                helper.AddDecimalParameter("@OriginalAmount", orderObj.OriginalAmount);
                helper.AddDecimalParameter("@Amount", orderObj.Amount);
                helper.AddDecimalParameter("@Freight", orderObj.Freight);

                helper.ExecuteNonQuery(sql, CommandType.Text);
                orderObj.OrderID = (int)orderIDParam.Value;

                string zero = "0000000000";
                string tmp  = zero + orderObj.OrderID;
                orderObj.OrderCode = DateTime.Now.ToString("yyMMdd") + tmp.Substring(tmp.Length - 10, 10);

                OrderProductObj product;

                for (int i = 0; i < orderObj.OrderDetails.Count; i++)
                {
                    sql = "insert into OrderDetails (OrderID,ProductID,Discount,OrignalPrice,Quantity,CreationTime,Status,Express,PackageID) values (@OrderID,@ProductID,@Discount,@OrignalPrice,@Quantity,@CreationTime,@Status,@Express,@PackageID)";

                    product = orderObj.OrderDetails[i];
                    helper.ClearParameters();
                    product.OrderID = orderObj.OrderID;
                    helper.AddIntParameter("@OrderID", product.OrderID);
                    helper.AddIntParameter("@ProductID", product.ProductID);
                    helper.AddIntParameter("@PackageID", product.PackageID);
                    helper.AddDecimalParameter("@Discount", product.Discount);
                    helper.AddDecimalParameter("@OrignalPrice", product.OrignalPrice);
                    helper.AddDecimalParameter("@Freight", product.Freight);
                    helper.AddDecimalParameter("@Quantity", product.Quantity);
                    helper.AddDateTimeParameter("@CreationTime", product.CreationTime);
                    helper.AddIntParameter("@Status", product.Status);
                    helper.AddIntParameter("@Express", product.Express);

                    helper.ExecuteNonQuery(sql, CommandType.Text);

                    sql = "update Products set Quantity=Quantity-@Quantity where ProductID=@ProductID";
                    helper.ExecuteNonQuery(sql, CommandType.Text);
                }

                helper.ClearParameters();
                helper.AddIntParameter("@OrderID", orderObj.OrderID);
                helper.AddStringParameter("@OrderCode", 50, orderObj.OrderCode);
                helper.ExecuteNonQuery("update Orders set OrderCode=@OrderCode where OrderID=@OrderID", CommandType.Text);

                helper.CommitTran();

                return(orderObj.OrderID);
            }
        }
        /// <summary>
        /// All the logical process to show the outputs are here
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        public static string GetOrderDescriptionFromOrder(OrderObj order)
        {
            bool error = false, keep = true;
            List <Tuple <int, int> > values = new List <Tuple <int, int> >();
            StringBuilder            description = new StringBuilder();
            List <OrderItem>         items = new List <OrderItem>();

            items  = OrderItemAccess.GetOrderItemsByOrder(order.Id);
            values = GetTuples(items);

            foreach (var item in values.Distinct())
            {
                if (keep)
                {
                    switch (order.Time)
                    {
                    case (int)TimeEnum.morning:
                        if (item.Item2 > 1)
                        {
                            if (item.Item1 == (int)MorningEnum.coffee)
                            {
                                description.Append((MorningEnum)Enum.ToObject(typeof(MorningEnum), item.Item1) + "(x" + item.Item2 + "), ");
                            }
                            else if (error)
                            {
                                description.Append((MorningEnum)Enum.ToObject(typeof(MorningEnum), (int)MorningEnum.error) + ", ");
                                keep = false;
                            }
                            else
                            {
                                description.Append((MorningEnum)Enum.ToObject(typeof(MorningEnum), item.Item1) + ", ");
                                description.Append((MorningEnum)Enum.ToObject(typeof(MorningEnum), (int)MorningEnum.error) + ", ");
                                error = true;
                                keep  = false;
                            }
                        }
                        else
                        {
                            description.Append((MorningEnum)Enum.ToObject(typeof(MorningEnum), item.Item1) + ", ");
                        }
                        break;

                    case (int)TimeEnum.night:
                        if (item.Item2 > 1)
                        {
                            if (item.Item1 == (int)NightEnum.potato)
                            {
                                description.Append((NightEnum)Enum.ToObject(typeof(NightEnum), item.Item1) + "(x" + item.Item2 + "), ");
                            }
                            else if (error)
                            {
                                description.Append((NightEnum)Enum.ToObject(typeof(NightEnum), (int)NightEnum.error) + ", ");
                                keep = false;
                            }
                            else
                            {
                                description.Append((NightEnum)Enum.ToObject(typeof(NightEnum), item.Item1) + ", ");
                                description.Append((NightEnum)Enum.ToObject(typeof(NightEnum), (int)NightEnum.error) + ", ");
                                error = true;
                                keep  = false;
                            }
                        }
                        else
                        {
                            description.Append((NightEnum)Enum.ToObject(typeof(NightEnum), item.Item1) + ", ");
                        }
                        break;
                    }
                }
            }

            return(description.ToString().Remove(description.ToString().Length - 2, 2));
        }
Beispiel #27
0
 public void ModifyServiceMemo(OrderObj orderObj)
 {
     dal.ModifyServiceMemo(orderObj);
 }
        /// <summary>
        /// Method called by Controller to return a specific order by its Id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static OrderViewModel GetOrderById(int id)
        {
            OrderObj order = OrderAccess.GetOrderById(id);

            return(GetOrder(order));
        }
Beispiel #29
0
 public OrderRequest(string company, int size, double price)
 {
     this.company = company;
     this.order   = new OrderObj(size, price);
 }
Beispiel #30
0
 public void CancelOrder(OrderObj orderObj)
 {
     dal.CancelOrder(orderObj);
 }