예제 #1
0
        public static async Task <OrdersEntity> InsertOrMergeEntityAsync(CloudTable table, OrdersEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            try
            {
                // Create the InsertOrReplace table operation
                TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(entity);

                // Execute the operation. (table fetch)
                TableResult result = await table.ExecuteAsync(insertOrMergeOperation);



                OrdersEntity insertedCustomer = result.Result as OrdersEntity;

                // Get the request units consumed by the current operation. RequestCharge of a TableResult is only applied to Azure Cosmos DB
                if (result.RequestCharge.HasValue)
                {
                    Console.WriteLine("Request Charge of InsertOrMerge Operation: " + result.RequestCharge);
                }

                return(insertedCustomer);
            }
            catch (StorageException e)
            {
                throw e;
            }
        }
예제 #2
0
        /// <summary>
        /// 支付结果页面
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult paymentFinish(int?id)
        {
            ViewBag.Id = id;
            OrdersEntity ordersEntity = ordersbll.GetEntity(id);//第一次打开,微信回调还没完成,一般是未支付状态

            for (int i = 0; i < 3; i++)
            {
                ordersEntity = ordersbll.GetEntity(id); //第二次才会成功获取到支付成功状态
                if (ordersEntity.PayStatus == 1)        //如果支付成功直接返回
                {
                    ViewBag.Result  = "支付成功";
                    ViewBag.icon    = "success";
                    ViewBag.display = "none";
                    ViewBag.Tel     = ordersEntity.Tel;
                    LogHelper.AddLog(id + "支付成功");
                    return(View());
                }
                else
                {
                    Thread.Sleep(3000);//当前线程休眠3秒,等待微信回调执行完成
                    LogHelper.AddLog(id + "支付结果获取:" + i);
                }
            }
            //如果超过15秒还未支付成功,返回未支付,防止直接跳转结果页面,显示失败,微信回调还没有完成
            ViewBag.Result  = "未支付";
            ViewBag.icon    = "warn";
            ViewBag.display = "block";
            ViewBag.id      = OperatorAgentProvider.Provider.Current().Id.ToString();
            ViewBag.orderno = ordersEntity.OrderSn;
            return(View());
        }
예제 #3
0
        public async Task <OrdersEntity> Post(OrdersEntity entity)
        {
            // Create a table client for interacting with the table service
            CloudTable table = await CreateTableIfNotExistsAsync("orders");

            return(await InsertOrMergeEntityAsync(table, entity));
        }
예제 #4
0
        public ActionResult paymentFinish(int?id)
        {
            ViewBag.Id = id;
            OrdersEntity ordersEntity = ordersbll.GetEntity(id);

            if (ordersEntity != null)
            {
                if (ordersEntity.PayStatus == 1)
                {
                    ViewBag.Result  = "支付成功";
                    ViewBag.icon    = "success";
                    ViewBag.display = "none";
                    ViewBag.Tel     = ordersEntity.Tel;
                }
                else
                {
                    ViewBag.Result  = "未支付";
                    ViewBag.icon    = "warn";
                    ViewBag.display = "block";
                    ViewBag.Tel     = ordersEntity.Tel;
                }
            }

            return(View());
        }
예제 #5
0
        /// <summary>
        /// Calculates the statistics for the Northwind database and shows them in the form, utilizing the remote service for the actual work.
        /// </summary>
        /// <remarks>No error checking is applied to this routine, it's for illustrating the framework functionality.</remarks>
        private void CalculateStatistics()
        {
            // use the service to obtain the information needed.

            // get the # of customers in the database.
            _amountCustomersTextBox.Text = MainForm.DalService.GetNumberOfCustomers().ToString();

            // get highest order price, order id of order with highest price, average price.
            decimal averageOrderPrice       = 0.0M;
            decimal highestOrderPrice       = 0.0M;
            int     orderIdWithHighestPrice = 0;
            int     numberOfOrders          = 0;

            MainForm.DalService.GetOrderStatistics(out averageOrderPrice, out highestOrderPrice, out numberOfOrders, out orderIdWithHighestPrice);
            _highestOrderPriceTextBox.Text = highestOrderPrice.ToString("C");
            _averageOrderPriceTextBox.Text = averageOrderPrice.ToString("C");

            // get order with highest price. Pull customer also in 1 go
            OrdersEntity highestOrder = (OrdersEntity)MainForm.DalService.GetOrderAndCustomerWithHighestPrice(orderIdWithHighestPrice);

            _customerWithHighestOrder         = highestOrder.Customers;         // already loaded through prefetch path.
            _highestOrderCustomerTextBox.Text = _customerWithHighestOrder.CompanyName;

            // get customer with most orders.
            int numberOfOrdersForTopCustomer = 0;

            _customerWithMostOrders            = (CustomersEntity)MainForm.DalService.GetCustomerWithMostOrdersAndNumberOfOrders(out numberOfOrdersForTopCustomer);
            _mostOrdersPerCustomerTextBox.Text = numberOfOrdersForTopCustomer.ToString();
            _mostOrdersCustomerTextBox.Text    = _customerWithMostOrders.CompanyName;
        }
예제 #6
0
        /// <summary>
        /// Save order information
        /// </summary>
        /// <param name="_ordersInfo"></param>
        public int SaveOrderlist(OrdersEntity _ordersInfo)
        {
            int ResultsId = 0;

            using (var dao = DbActivity.Open())
            {
                try
                {
                    dao.BeginTrans();
                    CSqlDbCommand cmd = new CSqlDbCommand(DataHelper.DBCommands.USP_SAVE_ORDERINFO);
                    cmd.Parameters.AddWithValue("OrderId", _ordersInfo.OrderId);
                    cmd.Parameters.AddWithValue("BuyerId", _ordersInfo.BuyerId);
                    cmd.Parameters.AddWithValue("OrderStatus", _ordersInfo.OrderStatus);
                    cmd.Parameters.AddWithValue("LastName", _ordersInfo.BuyerInfoDetail.LastName);
                    cmd.Parameters.AddWithValue("FirstName", _ordersInfo.BuyerInfoDetail.FirstName);
                    cmd.Parameters.AddWithValue("Mobile", _ordersInfo.BuyerInfoDetail.PhoneNumber);
                    cmd.Parameters.AddWithValue("Email", _ordersInfo.BuyerInfoDetail.Email);
                    cmd.Parameters.AddWithValue("Address", _ordersInfo.BuyerInfoDetail.Address);
                    cmd.Parameters.Add("BuyerResultId", _ordersInfo.BuyerInfoDetail.BuyerId, ParameterDirection.InputOutput, DbType.Int32);
                    dao.ExecCommand(cmd);
                    ResultsId = dao.Parameters["BuyerResultId"].Value.ToInt();
                    SaveProductsInfo(_ordersInfo.ProductInfoDetail, ResultsId, dao);
                    dao.Commit();
                }
                catch (Exception ex)
                {
                    dao.Rollback();
                    LoggerMgr.Web.Error(LoggerMgr.GetErrorMessageRootText(DataHelper.Layer.DataAccessLayer, DataHelper.DataAccess.OrdersContext, MethodInfo.GetCurrentMethod().Name), ex);
                    throw;
                }
            }
            return(ResultsId);
        }
예제 #7
0
        /// <summary>
        /// 得到  orders 数据实体
        /// </summary>
        /// <param name="dr">dr</param>
        /// <returns>orders 数据实体</returns>
        public OrdersEntity Populate_OrdersEntity_FromDr(IDataReader dr)
        {
            OrdersEntity Obj = new OrdersEntity();

            Obj.OrderId     = ((dr["OrderId"]) == DBNull.Value)?0:Convert.ToInt32(dr["OrderId"]);
            Obj.OrderCode   = dr["OrderCode"].ToString();
            Obj.UserId      = ((dr["UserId"]) == DBNull.Value)?0:Convert.ToInt32(dr["UserId"]);
            Obj.PaymentId   = ((dr["PaymentId"]) == DBNull.Value)?0:Convert.ToInt32(dr["PaymentId"]);
            Obj.TotalPrice  = ((dr["TotalPrice"]) == DBNull.Value)?0:Convert.ToDecimal(dr["TotalPrice"]);
            Obj.Postage     = ((dr["Postage"]) == DBNull.Value)?0:Convert.ToDecimal(dr["Postage"]);
            Obj.Status      = ((dr["Status"]) == DBNull.Value)?0:Convert.ToInt32(dr["Status"]);
            Obj.Consignee   = dr["Consignee"].ToString();
            Obj.LocationId  = ((dr["LocationId"]) == DBNull.Value)?0:Convert.ToInt32(dr["LocationId"]);
            Obj.Buyer       = dr["Buyer"].ToString();
            Obj.Phone       = dr["Phone"].ToString();
            Obj.Address     = dr["Address"].ToString();
            Obj.Description = dr["Description"].ToString();
            Obj.AddTime     = ((dr["AddTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["AddTime"]);
            Obj.UpdateTime  = ((dr["UpdateTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["UpdateTime"]);
            Obj.ConfirmTime = ((dr["ConfirmTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["ConfirmTime"]);
            Obj.SendTime    = ((dr["SendTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["SendTime"]);
            Obj.expresstype = ((dr["expresstype"]) == DBNull.Value)?0:Convert.ToInt32(dr["expresstype"]);
            Obj.expresscode = dr["expresscode"].ToString();
            Obj.ordertype   = ((dr["ordertype"]) == DBNull.Value)?0:Convert.ToInt32(dr["ordertype"]);
            Obj.RefundTime  = ((dr["RefundTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["RefundTime"]);
            Obj.ReturnTime  = ((dr["ReturnTime"]) == DBNull.Value)?Convert.ToDateTime("1900-1-1"):Convert.ToDateTime(dr["ReturnTime"]);
            Obj.DaiLi       = dr["Daili"].ToString();

            return(Obj);
        }
예제 #8
0
        public ActionResult AutoOrder(string productName)
        {
            string   orderNum = WebUtil.GetFormValue <string>("orderNum", string.Empty);
            PageInfo page     = new PageInfo {
                PageIndex = 1, PageSize = 5
            };
            Bill <OrdersEntity, OrderDetailEntity> bill = new OrderBill();
            OrdersEntity entity = new OrdersEntity();

            if (orderNum != string.Empty)
            {
                entity.Where("OrderNum", ECondition.Like, "%" + orderNum + "%");
            }
            entity.Where(a => a.AuditeStatus == (int)EAudite.Pass).And(a => a.Status != (int)EOrderStatus.AllDelivery);
            List <OrdersEntity> list = bill.GetList(entity, ref page);

            list = list.IsNull() ? new List <OrdersEntity>() : list;
            StringBuilder sb         = new StringBuilder();
            JsonObject    jsonObject = null;

            foreach (OrdersEntity t in list)
            {
                jsonObject = new JsonObject();
                jsonObject.AddProperty("OrderNum", t.OrderNum);
                jsonObject.AddProperty("CusName", t.CusName);
                sb.Append(jsonObject.ToString() + "\n");
            }
            if (sb.Length == 0)
            {
                sb.Append("\n");
            }
            return(Content(sb.ToString()));
        }
예제 #9
0
        private void UpdateOrderRow(DataRow row)
        {
            decimal price = 0;

            decimal.TryParse(row["avg_px"] + "", out price);
            var clientID = row["client_id"].ToString().Trim();
            var qty      = (row["ord_qty"] + "").Trim();
            var order_no = row["ord_no"] + "";


            OrdersEntity order = null;

            if (string.IsNullOrEmpty(clientID))
            {
                if (!NoIDOrderDict.ContainsKey(order_no))
                {
                    order = new OrdersEntity()
                    {
                        ord_no = order_no
                    };
                    InitEntityInfo(row, order);
                    NoIDOrderDict[order_no] = order;
                }
                else
                {
                    order = NoIDOrderDict[order_no];
                    if ((string.IsNullOrEmpty(order.ord_qty) || int.Parse(order.ord_qty) == 0) ||
                        (int.Parse(order.ord_qty) > (int.Parse(order.filled_qty) + int.Parse(order.cxl_qty)) &&
                         (int.Parse(order.filled_qty) < int.Parse(row["filled_qty"].ToString()) ||
                          int.Parse(order.cxl_qty) < int.Parse(row["cxl_qty"].ToString()))))
                    {
                        InitEntityInfo(row, order);
                    }
                }
            }
            else
            {
                if (OrdersDict.ContainsKey(clientID))
                {
                    order = OrdersDict[clientID];
                    // 订单委托数大于成交数+撤单数 且 订单中成交数或撤单数比数据行中小
                    if ((string.IsNullOrEmpty(order.ord_qty) || int.Parse(order.ord_qty) == 0) ||
                        (int.Parse(order.ord_qty) > (int.Parse(order.filled_qty) + int.Parse(order.cxl_qty)) &&
                         (int.Parse(order.filled_qty) < int.Parse(row["filled_qty"].ToString()) ||
                          int.Parse(order.cxl_qty) < int.Parse(row["cxl_qty"].ToString()))))
                    {
                        InitEntityInfo(row, order);
                    }
                }
                else
                {
                    order = new OrdersEntity()
                    {
                        client_id = clientID.Trim()
                    };
                    OrdersDict[clientID] = order;
                    InitEntityInfo(row, order);
                }
            }
        }
예제 #10
0
        //微信支付回调地址
        public ActionResult Notify()
        {
            LogHelper.AddLog("支付回调地址");//记录日志
            ResponseHandler rspHandler = new ResponseHandler(null);

            rspHandler.SetKey(WeixinConfig.Key);
            LogHelper.AddLog(rspHandler.ParseXML());//记录日志


            //SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 SUCCESS
            string return_code = rspHandler.GetParameter("return_code");
            string return_msg  = rspHandler.GetParameter("return_msg");

            if (rspHandler.IsTenpaySign())
            {
                if (return_code == "SUCCESS")
                {
                    //订单号
                    string       orderSn = rspHandler.GetParameter("out_trade_no");
                    OrdersEntity order   = ordersbll.GetEntityByOrderSn(orderSn);
                    if (order != null)
                    {
                        order.PayDate   = DateTime.Now;
                        order.PayStatus = (int)PayStatus.已支付;
                        order.Status    = (int)OrderStatus.未发货;
                        ordersbll.SaveForm(order.Id, order);
                    }
                    else
                    {
                        LogHelper.AddLog("订单号不存在:" + orderSn);
                    }

                    //不同步
                    TelphoneLiangH5Entity tel = tlbll.GetEntity(order.TelphoneID);//根据靓号id获取靓号,修改售出状态
                    if (tel != null)
                    {
                        tel.SellMark   = 1;
                        tel.SellerName = order.Host;
                    }
                    tlbll.SaveForm(tel.TelphoneID, tel);


                    //头条url回调
                    if (!string.IsNullOrEmpty(order.TouUrl))
                    {
                        TouTiaoApi(order.TouUrl);
                    }
                }
            }

            string xml = string.Format(@"<xml>
<return_code><![CDATA[{0}]]></return_code>
<return_msg><![CDATA[{1}]]></return_msg>
</xml>", return_code, return_msg);

            return(Content(xml, "text/xml"));
        }
예제 #11
0
        /// <summary>
        /// Binds the orders and the orderdetails grids to the data of the current customer. It's a separate routine because this
        /// functionality is re-used more than once.
        /// Use this routine together with UnbindOrders or as initialization.
        /// </summary>
        private void BindOrders()
        {
            if (_currentCustomer == null)
            {
                return;
            }

            // clean up house keeping collections. Remove eventhandlers so we don't get memleaks.
            for (int i = 0; i < _visitedOrderDetails.Count; i++)
            {
                _visitedOrderDetails[i].ListChanged -= new ListChangedEventHandler(CurrentOrderDetails_ListChanged);
            }
            _visitedOrderDetails.Clear();

            // bind orders
            ordersDataGrid.DataSource      = _currentCustomer.Orders;
            ordersDataGrid.CurrentRowIndex = 0;

            // set event handler
            _currentCustomer.Orders.ListChanged += new ListChangedEventHandler(Orders_ListChanged);

            // bind orderdetails
            orderDetailsDataGrid.DataSource = _currentCustomer.Orders;
            orderDetailsDataGrid.DataMember = "OrderDetails";

            if (_ordersCManager == null)
            {
                // create currency manager to keep track of which order is displayed.
                _ordersCManager = (CurrencyManager)this.BindingContext[_currentCustomer.Orders];
                _ordersCManager.PositionChanged += new EventHandler(_ordersCManager_PositionChanged);
            }

            if (_currentCustomer.Orders.Count > 0)
            {
                // there are orders. The binding is the initial one. The grid will select the first row in the orders grid
                // and will bind the orderdetails of that order in the orderdetails grid.
                // We have to set up the initial event handler for this one. All other orderdetails are binded automatically by the
                // binding context and we set their event handlers in the _ordersCManager_PositionChanged event handler routine.
                if (!_visitedOrderDetails.Contains(_currentCustomer.Orders[ordersDataGrid.CurrentRowIndex].OrderDetails))
                {
                    // add it
                    _visitedOrderDetails.Add(_currentCustomer.Orders[ordersDataGrid.CurrentRowIndex].OrderDetails);

                    // add eventhandler
                    OrdersEntity currentSelectedOrder = _currentCustomer.Orders[ordersDataGrid.CurrentRowIndex];
                    currentSelectedOrder.OrderDetails.ListChanged += new ListChangedEventHandler(CurrentOrderDetails_ListChanged);
                    currentSelectedOrder.OrderDetails.AllowRemove  = true;
                }

                removeOrderButton.Enabled = true;
            }
            else
            {
                removeOrderButton.Enabled = false;
            }
        }
        public void Create(Orders orders)
        {
            var entity = new OrdersEntity {
                OrderId = orders.OrderID, ProductId = orders.ProductID, Amount = orders.Amount
            };

            _context.OrdersEntity.Add(entity);

            _context.SaveChanges();
        }
예제 #13
0
        public ActionResult queryWx(int?id)
        {
            OrdersEntity ordersEntity = ordersbll.GetEntity(id);

            if (ordersEntity.PayStatus == 1)
            {
                return(Json(new { status = true }));
            }
            return(Json(new { status = false }));
        }
예제 #14
0
        public async Task <IActionResult> SubmitData([FromBody] SubmitDataInput input)
        {
            var user = await _usersService.GetCurrentUserAsync();

            if (string.IsNullOrEmpty(input.id))//新建医嘱
            {
                if (string.IsNullOrEmpty(input.patientId))
                {
                    return(BadRequest("患者主键未传值!"));
                }
                var patient = await _patientApp.GetForm(input.patientId);

                if (patient == null)
                {
                    return(BadRequest("患者主键有误!"));
                }
                var drug = await _drugsApp.GetForm(input.orderCode);

                if (drug == null)
                {
                    return(BadRequest("药品主键有误!"));
                }
                if (input.orderAmount == null || Math.Abs(input.orderAmount.ToFloat(3)) < 0.01)
                {
                    return(BadRequest("药品剂量有误!"));
                }
                var entity = new OrdersEntity
                {
                    F_Id                  = Common.GuId(),
                    F_Pid                 = patient.F_Id,
                    F_DialysisNo          = patient.F_DialysisNo,
                    F_RecordNo            = patient.F_RecordNo,
                    F_OrderType           = input.orderType ?? "药疗",
                    F_OrderStartTime      = input.orderStartTime ?? DateTime.Now,
                    F_OrderCode           = input.orderCode,
                    F_OrderText           = drug.F_DrugName,
                    F_OrderUnitAmount     = drug.F_DrugMiniAmount.ToFloat(2).ToString(CultureInfo.CurrentCulture),
                    F_OrderUnitSpec       = drug.F_DrugMiniSpec,
                    F_OrderAmount         = input.orderAmount,
                    F_OrderFrequency      = input.orderFrequency,
                    F_OrderAdministration = input.orderAdministration,
                    F_IsTemporary         = input.isTemporary,
                    F_DoctorOrderTime     = DateTime.Now,
                    F_CreatorTime         = DateTime.Now,
                    F_CreatorUserId       = user.F_Id,
                    F_Doctor              = user.F_RealName
                };
                _ordersApp.InsertForm(entity);
                return(Ok(new { id = entity.F_Id }));
            }
            else//修改医嘱
            {
            }
            return(Ok(new { id = "" }));
        }
예제 #15
0
        private void removeOrderButton_Click(object sender, System.EventArgs e)
        {
            // check if there are orders and if so, check if the current selected row in the grid is in the order collection (i.o.w.: if the row index is
            // in the order collection)
            if (_currentCustomer == null)
            {
                return;
            }

            if (_currentCustomer.Orders.Count <= 0)
            {
                // no orders.
                return;
            }

            if (_currentCustomer.Orders.Count <= ordersDataGrid.CurrentRowIndex)
            {
                // index is not on a row in our collection
                return;
            }

            OrdersEntity currentOrder = (OrdersEntity)_currentCustomer.Orders[ordersDataGrid.CurrentRowIndex];

            if (currentOrder.IsNew)
            {
                // it's a new order, can't be removed from the database. simply return for now
                return;
            }

            // seems ok. Present a message box
            DialogResult proceed = MessageBox.Show(this, "Are you sure you want to remove the order '" + currentOrder.OrderId +
                                                   "'? The grids will be refreshed after the removal.", "Confirmation request.", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (proceed == DialogResult.No)
            {
                return;
            }

            // remove the order. Pass Order
            UnbindOrders();
            bool result = RemoveOrder(currentOrder);

            if (result)
            {
                MessageBox.Show(this, "The removal was succesful.", "Remove result.");
            }
            else
            {
                MessageBox.Show(this, "The removal was NOT succesful.", "Remove result.");
            }
            // update locally, to save roundtrips
            _currentCustomer.Orders.Remove(currentOrder);
            BindOrders();
        }
예제 #16
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(int?keyValue, OrdersEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #17
0
        private static void UpdateEntityInfo(DataRow row, OrdersEntity order)
        {
            order.avg_px     = row["avg_px"].ToString().Trim();
            order.cxl_qty    = row["cxl_qty"] + "";
            order.filled_qty = row["filled_qty"].ToString().Trim();
            order.err_msg    = row["err_msg"].ToString().Trim();
            order.ord_status = row["ord_status"].ToString();
            string time = row["ord_time"].ToString().Trim();

            order.ord_time = string.IsNullOrEmpty(time) ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") : row["ord_time"].ToString();
        }
예제 #18
0
 public OrdersEntity SaveForm(OrdersEntity entity)
 {
     try
     {
         return(service.SaveForm(entity));
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #19
0
        /// <summary>
        /// 向数据表Orders更新一条记录。带事务
        /// </summary>
        /// <param name="sp">事务对象</param>
        /// <param name="_OrdersModel">_OrdersModel</param>
        /// <returns>影响的行数</returns>
        public int Update(SqlTransaction sp, OrdersEntity _OrdersModel)
        {
            string sqlStr = "update Orders set [OrderCode]=@OrderCode,[UserId]=@UserId,[PaymentId]=@PaymentId,[TotalPrice]=@TotalPrice,[Postage]=@Postage,[Status]=@Status,[Consignee]=@Consignee,[LocationId]=@LocationId,[Buyer]=@Buyer,[Phone]=@Phone,[Address]=@Address,[Description]=@Description,[AddTime]=@AddTime,[UpdateTime]=@UpdateTime,[ConfirmTime]=@ConfirmTime,[SendTime]=@SendTime,[expresstype]=@expresstype,[expresscode]=@expresscode,[ordertype]=@ordertype,[RefundTime]=@RefundTime,[ReturnTime]=@ReturnTime where OrderId=@OrderId";

            SqlParameter[] _param =
            {
                new SqlParameter("@OrderId",     SqlDbType.Int),
                new SqlParameter("@OrderCode",   SqlDbType.VarChar),
                new SqlParameter("@UserId",      SqlDbType.Int),
                new SqlParameter("@PaymentId",   SqlDbType.Int),
                new SqlParameter("@TotalPrice",  SqlDbType.Decimal),
                new SqlParameter("@Postage",     SqlDbType.Decimal),
                new SqlParameter("@Status",      SqlDbType.Int),
                new SqlParameter("@Consignee",   SqlDbType.VarChar),
                new SqlParameter("@LocationId",  SqlDbType.Int),
                new SqlParameter("@Buyer",       SqlDbType.VarChar),
                new SqlParameter("@Phone",       SqlDbType.VarChar),
                new SqlParameter("@Address",     SqlDbType.VarChar),
                new SqlParameter("@Description", SqlDbType.VarChar),
                new SqlParameter("@AddTime",     SqlDbType.DateTime),
                new SqlParameter("@UpdateTime",  SqlDbType.DateTime),
                new SqlParameter("@ConfirmTime", SqlDbType.DateTime),
                new SqlParameter("@SendTime",    SqlDbType.DateTime),
                new SqlParameter("@expresstype", SqlDbType.Int),
                new SqlParameter("@expresscode", SqlDbType.VarChar),
                new SqlParameter("@ordertype",   SqlDbType.Int),
                new SqlParameter("@RefundTime",  SqlDbType.DateTime),
                new SqlParameter("@ReturnTime",  SqlDbType.DateTime)
            };
            _param[0].Value  = _OrdersModel.OrderId;
            _param[1].Value  = _OrdersModel.OrderCode;
            _param[2].Value  = _OrdersModel.UserId;
            _param[3].Value  = _OrdersModel.PaymentId;
            _param[4].Value  = _OrdersModel.TotalPrice;
            _param[5].Value  = _OrdersModel.Postage;
            _param[6].Value  = _OrdersModel.Status;
            _param[7].Value  = _OrdersModel.Consignee;
            _param[8].Value  = _OrdersModel.LocationId;
            _param[9].Value  = _OrdersModel.Buyer;
            _param[10].Value = _OrdersModel.Phone;
            _param[11].Value = _OrdersModel.Address;
            _param[12].Value = _OrdersModel.Description;
            _param[13].Value = _OrdersModel.AddTime;
            _param[14].Value = _OrdersModel.UpdateTime;
            _param[15].Value = _OrdersModel.ConfirmTime;
            _param[16].Value = _OrdersModel.SendTime;
            _param[17].Value = _OrdersModel.expresstype;
            _param[18].Value = _OrdersModel.expresscode;
            _param[19].Value = _OrdersModel.ordertype;
            _param[20].Value = _OrdersModel.RefundTime;
            _param[21].Value = _OrdersModel.ReturnTime;
            return(SqlHelper.ExecuteNonQuery(sp, CommandType.Text, sqlStr, _param));
        }
예제 #20
0
        /// <summary>
        /// 向数据库中插入一条新记录。
        /// </summary>
        /// <param name="_OrdersModel">Orders实体</param>
        /// <returns>新插入记录的编号</returns>
        public int Insert(OrdersEntity _OrdersModel)
        {
            string sqlStr = "insert into Orders([OrderCode],[UserId],[PaymentId],[TotalPrice],[Postage],[Status],[Consignee],[LocationId],[Buyer],[Phone],[Address],[Description],[AddTime],[UpdateTime],[ConfirmTime],[SendTime],[expresstype],[expresscode],[ordertype],[RefundTime],[ReturnTime]) values(@OrderCode,@UserId,@PaymentId,@TotalPrice,@Postage,@Status,@Consignee,@LocationId,@Buyer,@Phone,@Address,@Description,@AddTime,@UpdateTime,@ConfirmTime,@SendTime,@expresstype,@expresscode,@ordertype,@RefundTime,@ReturnTime) select @@identity";
            int    res;

            SqlParameter[] _param =
            {
                new SqlParameter("@OrderCode",   SqlDbType.VarChar),
                new SqlParameter("@UserId",      SqlDbType.Int),
                new SqlParameter("@PaymentId",   SqlDbType.Int),
                new SqlParameter("@TotalPrice",  SqlDbType.Decimal),
                new SqlParameter("@Postage",     SqlDbType.Decimal),
                new SqlParameter("@Status",      SqlDbType.Int),
                new SqlParameter("@Consignee",   SqlDbType.VarChar),
                new SqlParameter("@LocationId",  SqlDbType.Int),
                new SqlParameter("@Buyer",       SqlDbType.VarChar),
                new SqlParameter("@Phone",       SqlDbType.VarChar),
                new SqlParameter("@Address",     SqlDbType.VarChar),
                new SqlParameter("@Description", SqlDbType.VarChar),
                new SqlParameter("@AddTime",     SqlDbType.DateTime),
                new SqlParameter("@UpdateTime",  SqlDbType.DateTime),
                new SqlParameter("@ConfirmTime", SqlDbType.DateTime),
                new SqlParameter("@SendTime",    SqlDbType.DateTime),
                new SqlParameter("@expresstype", SqlDbType.Int),
                new SqlParameter("@expresscode", SqlDbType.VarChar),
                new SqlParameter("@ordertype",   SqlDbType.Int),
                new SqlParameter("@RefundTime",  SqlDbType.DateTime),
                new SqlParameter("@ReturnTime",  SqlDbType.DateTime)
            };
            _param[0].Value  = _OrdersModel.OrderCode;
            _param[1].Value  = _OrdersModel.UserId;
            _param[2].Value  = _OrdersModel.PaymentId;
            _param[3].Value  = _OrdersModel.TotalPrice;
            _param[4].Value  = _OrdersModel.Postage;
            _param[5].Value  = _OrdersModel.Status;
            _param[6].Value  = _OrdersModel.Consignee;
            _param[7].Value  = _OrdersModel.LocationId;
            _param[8].Value  = _OrdersModel.Buyer;
            _param[9].Value  = _OrdersModel.Phone;
            _param[10].Value = _OrdersModel.Address;
            _param[11].Value = _OrdersModel.Description;
            _param[12].Value = _OrdersModel.AddTime;
            _param[13].Value = _OrdersModel.UpdateTime;
            _param[14].Value = _OrdersModel.ConfirmTime;
            _param[15].Value = _OrdersModel.SendTime;
            _param[16].Value = _OrdersModel.expresstype;
            _param[17].Value = _OrdersModel.expresscode;
            _param[18].Value = _OrdersModel.ordertype;
            _param[19].Value = _OrdersModel.RefundTime;
            _param[20].Value = _OrdersModel.ReturnTime;
            res = Convert.ToInt32(SqlHelper.ExecuteScalar(WebConfig.WfxRW, CommandType.Text, sqlStr, _param));
            return(res);
        }
 /// <summary>
 /// Update Order details
 /// </summary>
 /// <param name="_ordersEntity"></param>
 /// <returns></returns>
 public int UpdateOrders(OrdersEntity _ordersEntity)
 {
     try
     {
         return(context.SaveOrderlist(_ordersEntity));
     }
     catch (Exception ex)
     {
         LoggerMgr.Web.Error(LoggerMgr.GetErrorMessageRootText(DataHelper.Layer.BusinessServiceLayer, DataHelper.BusinessServices.OrdersManager, MethodBase.GetCurrentMethod().Name), ex);
         throw;
     }
 }
예제 #22
0
 public bool Delete(Guid Id)
 {
     bool toReturn = false;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         OrdersEntity _OrdersEntity = new OrdersEntity(Id);
         if (adapter.FetchEntity(_OrdersEntity))
         {
             adapter.DeleteEntity(_OrdersEntity);
             toReturn = true;
         }
     }
     return toReturn;
 }
예제 #23
0
        /// <summary>
        /// Gets the order and customer with highest price.
        /// </summary>
        /// <param name="orderID">The orderId of the order with the highest price</param>
        /// <returns>
        /// OrderEntity with the highest price with its related CustomerEntity assigned to it
        /// </returns>
        /// <remarks>No error checking is applied to this routine, it's for illustrating the framework functionality.</remarks>
        public IEntity2 GetOrderAndCustomerWithHighestPrice(int orderId)
        {
            OrdersEntity highestOrder = null;

            using (DataAccessAdapter adapter = new DataAccessAdapter())
            {
                // get order with highest price. Pull customer also in 1 go  using a prefetch path
                IPrefetchPath2 prefetchPathCustomer = new PrefetchPath2((int)EntityType.OrdersEntity);
                prefetchPathCustomer.Add(OrdersEntity.PrefetchPathCustomers);
                highestOrder = new OrdersEntity(orderId);
                adapter.FetchEntity(highestOrder, prefetchPathCustomer);
            }
            return(highestOrder);
        }
예제 #24
0
        /// <summary>
        /// 根据订单号查询所有订单相关联的的排产单号
        /// </summary>
        /// <param name="orderNum"></param>
        /// <returns></returns>
        public List <string> GetOrderPlan(string orderNum)
        {
            OrdersEntity entity = new OrdersEntity();

            entity.Include(a => new { a.OrderNum, a.ContractOrder });
            entity.Where("OrderNum", ECondition.Like, "%" + orderNum + "%");
            List <OrdersEntity> list = this.Orders.GetList(entity);

            if (!list.IsNullOrEmpty())
            {
                List <string> items = list.Select(a => a.ContractOrder).ToList();
                return(items);
            }
            return(null);
        }
예제 #25
0
        private void _ordersCManager_PositionChanged(object sender, EventArgs e)
        {
            // a new orders details collection has been bound.
            OrdersEntity currentOrder = (OrdersEntity)_currentCustomer.Orders[_ordersCManager.Position];

            if (!_visitedOrderDetails.Contains(currentOrder.OrderDetails))
            {
                // add handler
                currentOrder.OrderDetails.ListChanged += new ListChangedEventHandler(CurrentOrderDetails_ListChanged);
                _visitedOrderDetails.Add(currentOrder.OrderDetails);
                currentOrder.OrderDetails.AllowRemove = true;
            }

            removeOrderButton.Enabled = !_currentCustomer.Orders[_ordersCManager.Position].IsNew;
        }
예제 #26
0
        public async Task <OrdersEntity> Post(OrdersEntity entity)
        {
            // Create a table client for interacting with the table service
            CloudTable table = await CreateTableIfNotExistsAsync("orders");


            QueueItem orderItem = new QueueItem()
            {
                RowKey = entity.RowKey
            };

            var upodateEntity = await InsertOrMergeEntityAsync(table, entity);

            await AddEntryQueue(orderItem);

            return(upodateEntity);
        }
예제 #27
0
        public Task <int> SubmitForm <TDto>(OrdersEntity entity, TDto dto) where TDto : class
        {
            var userId = _usersService.GetCurrentUserId();

            if (!string.IsNullOrEmpty(entity.F_Id))
            {
                entity.Modify(entity.F_Id);
                entity.F_LastModifyUserId = userId;
                return(_service.UpdateAsync(entity, dto));
            }
            else
            {
                entity.Create();
                entity.F_CreatorUserId = userId;
                return(_service.InsertAsync(entity));
            }
        }
예제 #28
0
        // GetOrders
        public async Task <Order[]> GetOrders(string currency, TradingPair tradingPair, int count)
        {
            string market = String.Format("{0}_{1}", currency, tradingPair.ToString());

            using (var client = new HttpClient())
            {
                // create the URL string.
                string endpoint = "api/private/getorders";

                // JSON POST parameters
                JObject jObject = new JObject();
                jObject["Market"] = market;
                jObject["Count"]  = count;
                string postParams = jObject.ToString(Formatting.None, null);

                // Http Client params
                SetHttpClientPropertiesPrivate(client, endpoint, postParams);

                // make the request
                var content  = new StringContent(postParams, Encoding.UTF8, "application/json");
                var response = await client.PostAsync(endpoint, content);

                // parse the response and return the data.
                var jsonResponseString = await response.Content.ReadAsStringAsync();

                OrdersEntity ordersEntity = new OrdersEntity();

                try
                {
                    ordersEntity = JsonConvert.DeserializeObject <OrdersEntity>(jsonResponseString);
                }
                catch (Exception e)
                {
                    throw new Exception(_ParseError, e);
                }

                // Check success message from server
                if (ordersEntity.Success == false)
                {
                    throw new Exception(_SuccessError);
                }

                return(ordersEntity.Result);
            }
        }
예제 #29
0
        public ActionResult productJsApi(OrdersEntity ordersEntity)
        {
            try
            {
                string city = ordersEntity.City;
                if (city.Contains("-"))
                {
                    string[] area = ordersEntity.City.Split('-');
                    if (area.Length > 0)
                    {
                        ordersEntity.Province = area[0]; //省
                        ordersEntity.City     = area[1]; //市
                        ordersEntity.Country  = area[2]; //市
                    }
                }
                else
                {
                    string[] area = ordersEntity.City.Split(' ');
                    if (area.Length > 0)
                    {
                        ordersEntity.Province = area[0]; //省
                        ordersEntity.City     = area[1]; //市
                    }
                }

                ordersEntity.PayType = "微信JSAPI";
                ordersbll.SaveForm(ordersEntity.Id, ordersEntity);
                H5Response root = new H5Response {
                    code = true, status = true, msg = "\u5fae\u4fe1\u004a\u0053\u0041\u0050\u0049\u63d0\u4ea4\u6210\u529f\uff01", data = { }
                };
                return(Content(JsonConvert.SerializeObject(root)));
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
                msg += "<br>" + ex.StackTrace;
                msg += "<br>==Source==<br>" + ex.Source;

                if (ex.InnerException != null)
                {
                    msg += "<br>===InnerException===<br>" + ex.InnerException.Message;
                }
                return(Content(msg));
            }
        }
 /// <summary>
 /// Save Order deatils
 /// </summary>
 /// <param name="_orderInfo"></param>
 /// <returns></returns>
 public int SaveOrders(OrdersEntity _orderInfo)
 {
     try
     {
         int _response = context.SaveOrderlist(_orderInfo);
         if (_response > 0)
         {
             EmailService _email = new EmailService();
             _email.SendEmail(_orderInfo.BuyerInfoDetail.Email.ToStr());
         }
         return(_response);
     }
     catch (Exception ex)
     {
         LoggerMgr.Web.Error(LoggerMgr.GetErrorMessageRootText(DataHelper.Layer.BusinessServiceLayer, DataHelper.BusinessServices.OrdersManager, MethodBase.GetCurrentMethod().Name), ex);
         throw;
     }
 }
예제 #31
0
        public ActionResult JsApi(int?id, string Tel, string Price, string host)
        {
            OrdersEntity ordersEntity = new OrdersEntity()
            {
                TelphoneID = id,
                Tel        = Tel,
                Price      = Convert.ToDecimal(Price),
                Host       = host,
                PayType    = "JsApi"
            };

            //创建订单表
            ordersEntity = ordersbll.SaveForm(ordersEntity);

            var openId    = (string)Session["OpenId"];
            var sp_billno = ordersEntity.OrderSn;
            var nonceStr  = TenPayV3Util.GetNoncestr();
            var timeStamp = TenPayV3Util.GetTimestamp();

            //商品Id,用户自行定义
            var xmlDataInfoH5 = new TenPayV3UnifiedorderRequestData(WeixinConfig.AppID2, tenPayV3Info.MchId, "JSAPI购买靓号", sp_billno,
                                                                    Convert.ToInt32(ordersEntity.Price * 100),
                                                                    Request.UserHostAddress, tenPayV3Info.TenPayV3Notify, TenPayV3Type.JSAPI, openId, tenPayV3Info.Key, nonceStr);
            var result = TenPayV3.Unifiedorder(xmlDataInfoH5); //调用统一订单接口

            LogHelper.AddLog(result.ResultXml);                //记录日志
            var package = string.Format("prepay_id={0}", result.prepay_id);

            if (result.return_code == "SUCCESS")
            {
                WFTWxModel jsApiPayData = new WFTWxModel()
                {
                    appId        = WeixinConfig.AppID2,
                    timeStamp    = timeStamp,
                    nonceStr     = nonceStr,
                    package      = package,
                    paySign      = TenPayV3.GetJsPaySign(WeixinConfig.AppID2, timeStamp, nonceStr, package, WeixinConfig.Key),
                    callback_url = "https://shop.jnlxsm.net/webapp/jinan2/paymentFinish/" + ordersEntity.Id
                };
                ViewBag.WxModel = jsApiPayData;
                LogHelper.AddLog(JsonConvert.SerializeObject(jsApiPayData));//记录日志
            }
            return(View(ordersEntity));
        }
예제 #32
0
    protected void lkPdf_Click(object sender, EventArgs e)
    {
        order = OrdersManager.CreateInstant().GetByOrderCode(OrderNumber);
        if (order != null)
        {
            SingleOrderDetail1.OrderId = order.Id;
            SingleOrderDetail1.IsFooterSms = false;

            string detail = SingleOrderDetail1.GetBody();

            EmailTemplatesEntity template = EmailTemplatesManager.CreateInstant().GetOrderCompletedPDF(order.Id, detail);
            if (template != null)
            {
                template = EmailTemplatesManager.CreateInstant().GetFormatEmailPDF(template);

                ExportPdf.CreateInstant().Export(order.OrderCode, template.Body);
            }
        }
    }
예제 #33
0
 public OrdersEntity SelectOne(Guid Id)
 {
     OrdersEntity toReturn = null;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         OrdersEntity _OrdersEntity = new OrdersEntity(Id);
         if (adapter.FetchEntity(_OrdersEntity))
         {
             toReturn = _OrdersEntity;
         }
     }
     return toReturn;
 }
예제 #34
0
    ShippingEntity getShipping(OrdersEntity order)
    {
        ShippingEntity ship = new ShippingEntity();

        ship.Id = Guid.NewGuid();
        ship.OrderId = order.Id;
        ship.ReceiverName = Filter.GetStringNoHtml(txtShipCustomerName.Text.Trim(), ShippingFields.ReceiverName.MaxLength);
        ship.RecerverEmail = Filter.GetMaxString(txtShipCustomerEmail.Text.Trim(), ShippingFields.RecerverEmail.MaxLength);
        ship.Address = Filter.GetStringNoHtml(txtShipCustomerAddress.Text.Trim(), ShippingFields.Address.MaxLength);
        ship.Phone1 = Filter.GetStringNoHtml(txtShipCustomerPhone.Text.Trim(), ShippingFields.Phone1.MaxLength);
        ship.Note = Filter.GetStringNoHtml(txtShipNote.Text.Trim(), ShippingFields.Note.MaxLength);
        ship.ShipDate = getDateTime();

        return ship;
    }
예제 #35
0
        public OrdersEntity Insert(string OrderCode, Guid CustomerId, string CustomerName, string CustomerEmail, string CustomerPhone, string CustomerAddress, decimal TotalAmountBeforeTax, decimal TotalAmountAfterTax, decimal TotalDiscount, decimal TotalOther, decimal TotalPaid, bool PaidCompleted, decimal TotalAllSupplier, decimal TotalCommission, string PaymentMethod, string CreatedBy, DateTime CreatedDate, string UpdatedBy, DateTime UpdatedDate, bool IsDelete)
        {
            OrdersEntity _OrdersEntity = new OrdersEntity();
            using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
            {

                _OrdersEntity.OrderCode = OrderCode;
                _OrdersEntity.CustomerId = CustomerId;
                _OrdersEntity.CustomerName = CustomerName;
                _OrdersEntity.CustomerEmail = CustomerEmail;
                _OrdersEntity.CustomerPhone = CustomerPhone;
                _OrdersEntity.CustomerAddress = CustomerAddress;
                _OrdersEntity.TotalAmountBeforeTax = TotalAmountBeforeTax;
                _OrdersEntity.TotalAmountAfterTax = TotalAmountAfterTax;
                _OrdersEntity.TotalDiscount = TotalDiscount;
                _OrdersEntity.TotalOther = TotalOther;
                _OrdersEntity.TotalPaid = TotalPaid;
                _OrdersEntity.PaidCompleted = PaidCompleted;
                _OrdersEntity.TotalAllSupplier = TotalAllSupplier;
                _OrdersEntity.TotalCommission = TotalCommission;
                _OrdersEntity.PaymentMethod = PaymentMethod;
                _OrdersEntity.CreatedBy = CreatedBy;
                _OrdersEntity.CreatedDate = CreatedDate;
                _OrdersEntity.UpdatedBy = UpdatedBy;
                _OrdersEntity.UpdatedDate = UpdatedDate;
                _OrdersEntity.IsDelete = IsDelete;
                adapter.SaveEntity(_OrdersEntity, true);
            }
            return _OrdersEntity;
        }
예제 #36
0
 public OrdersEntity Insert(OrdersEntity _OrdersEntity)
 {
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         adapter.SaveEntity(_OrdersEntity, true);
     }
     return _OrdersEntity;
 }
예제 #37
0
 public bool Update(OrdersEntity _OrdersEntity, RelationPredicateBucket filter)
 {
     bool toReturn = false;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         adapter.UpdateEntitiesDirectly(_OrdersEntity, filter);
         toReturn = true;
     }
     return toReturn;
 }
예제 #38
0
    OrderItemsEntity getOrderItem(OrdersEntity order)
    {
        OrderItemsEntity orderItem = new OrderItemsEntity();

        orderItem.Id = Guid.NewGuid();
        orderItem.OrderId = order.Id;

        orderItem.TotalAmountBeforeTax = order.TotalAmountBeforeTax;
        orderItem.TotalAmountAfterTax = order.TotalAmountAfterTax;
        orderItem.TotalDiscount = order.TotalDiscount;
        orderItem.SupplierId = CartsSession.CreateInstant().GetCarts(Page)[0].SupplierId;

        orderItem.TotalCommission = 0;
        orderItem.TotalToSupplier = 0;

        return orderItem;
    }
예제 #39
0
    void LoadData()
    {
        order = OrdersManager.CreateInstant().GetByOrderCode(OrderNumber);
        if (order != null)
        {
            //--- Title
            this.Page.Title = "Don Dat Hang - " + order.OrderCode;
            string paymethod = "CAH";
            if (!string.IsNullOrEmpty(order.PaymentMethod))
            {
                PaymentMethodEntity method = PaymentMethodManager.CreateInstant().SelectOne(order.PaymentMethod);
                if (method != null)
                {
                    lblPayment.Text = method.PayName;
                }
            }

            //---
            lblOrderDate.Text = FDateTime.FormatDateTime(order.CreatedDate);
            lblCustomer.Text = order.CustomerName;

            // Gia
            lblPriceSell.Text = FNumber.FormatNumber(order.TotalAmountAfterTax) + " VNĐ";
            lblPriceBuy.Text = FNumber.FormatNumber(order.TotalAllSupplier) + " VNĐ";
            lblCommission.Text = FNumber.FormatNumber(order.TotalAmountAfterTax - order.TotalAllSupplier) + " VNĐ";

            //---
            TagId = OrdersJoinTagsManager.CreateInstant().GetTag(order.Id);

            viewOrder.OrderId = order.Id;
            viewOrder.IsFooterSms = false;

            string detail = viewOrder.GetBody();

            EmailTemplatesEntity template = EmailTemplatesManager.CreateInstant().GetOrderCompletedPDF(order.Id, detail);
            if (template != null)
            {
                template = EmailTemplatesManager.CreateInstant().GetFormatEmailPDF(template);

                lblViewOrder.Text = template.Body;
            }
        }
    }
예제 #40
0
        public bool Update(OrdersEntity _OrdersEntity)
        {
            bool toReturn = false;
            using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
            {
                RelationPredicateBucket filter = new RelationPredicateBucket();
                IPredicateExpression _PredicateExpression = new PredicateExpression();
                _PredicateExpression.Add(OrdersFields.Id == _OrdersEntity.Id);

                filter.PredicateExpression.Add(_PredicateExpression);

                adapter.UpdateEntitiesDirectly(_OrdersEntity, filter);
                toReturn = true;
            }
            return toReturn;
        }
예제 #41
0
    OrdersEntity getOrder(CustomersEntity customer)
    {
        OrdersEntity order = new OrdersEntity();

        order.Id = Guid.NewGuid();
        order.OrderCode = OrderCode.CreateInstant().GetNumber();

        order.CustomerId = customer.Id;
        order.CustomerName = customer.FullName;
        order.CustomerEmail = customer.Email;
        order.CustomerPhone = customer.Mobi;
        order.CustomerAddress = customer.Address;

        order.TotalAmountBeforeTax = TotalAmountBeforeTax;
        order.TotalAmountAfterTax = TotalAmountAfterTax;
        order.TotalDiscount = 0;
        order.TotalOther = 0;
        order.TotalPaid = order.TotalAmountAfterTax + order.TotalOther - order.TotalDiscount;

        order.TotalCommission = 0;
        order.TotalAllSupplier = 0;

        order.PaymentMethod = ucPayment.PaymentMethod;

        return order;
    }