コード例 #1
0
        public ActionResult Create([Bind(Include =
                                             "OrderId"
                                             + "," + "Quantity"
                                             + "," + "CatalogItemId"
                                             + "," + "Price"
                                             + "," + "SpecialInstructions"
                                             + "," + "DiscountPercent"
                                         )] OrderDetail OrderDetail)
        {
            if (ModelState.IsValid)
            {
                bool bSucess = false;
                bSucess = OrderDetailData.Add(OrderDetail);
                if (bSucess == true)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Can Not Insert");
                }
            }
            // ComboBox
            ViewData["OrderId"]       = new SelectList(OrderDetail_OrderHeaderData.List(), "OrderId", "OrderId", OrderDetail.OrderId);
            ViewData["CatalogItemId"] = new SelectList(OrderDetail_CatalogItemData.List(), "CatalogItemId", "CatalogItemId", OrderDetail.CatalogItemId);

            return(View(OrderDetail));
        }
コード例 #2
0
        // GET: /OrderDetail/Edit/<id>
        public ActionResult Edit(
            Int32?OrderDetailId
            )
        {
            if (
                OrderDetailId == null
                )
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            OrderDetail OrderDetail = new OrderDetail();

            OrderDetail.OrderDetailId = System.Convert.ToInt32(OrderDetailId);
            OrderDetail = OrderDetailData.Select_Record(OrderDetail);

            if (OrderDetail == null)
            {
                return(HttpNotFound());
            }
            // ComboBox
            ViewData["OrderId"]       = new SelectList(OrderDetail_OrderHeaderData.List(), "OrderId", "OrderId", OrderDetail.OrderId);
            ViewData["CatalogItemId"] = new SelectList(OrderDetail_CatalogItemData.List(), "CatalogItemId", "CatalogItemId", OrderDetail.CatalogItemId);

            return(View(OrderDetail));
        }
コード例 #3
0
        private List <BehaeltnisType> GetBehaltnisse(OrderDetailData verzEinheit)
        {
            List <BehaeltnisType> retVal = null;

            Log.Debug("Fetching containers for archive record with id {archiveRecordId}", verzEinheit.Id);
            var containers = dataProvider.LoadContainers(Convert.ToInt64(verzEinheit.Id));

            if (containers.StorageContainer.Rows.Count > 0)
            {
                retVal = new List <BehaeltnisType>();
                foreach (var container in containers.StorageContainer)
                {
                    retVal.Add(new BehaeltnisType
                    {
                        BehaeltnisCode          = container.BHLTN_CD,
                        BehaeltnisTyp           = container.BHLTN_TYP_NM,
                        InformationsTraeger     = container.BHLTN_INFO_TRGR_NM,
                        Standort                = container.BHLTN_DEF_STAND_ORT_CD,
                        EnthalteneVerzEinheiten =
                            verzEinheit.Level == DossierLevelIdentifier ? GetArchiveRecordsToContainer(container.BHLTN_ID) : null
                    });
                }
            }

            return(retVal);
        }
    protected void CompleteOrderButton_Click(Object sender, System.EventArgs e)
    {
        // Get the current customer
        User     user     = (User)Session["User"];
        Customer customer = CustomerData.FindCustomerByUserName(user.UserName);

        // Create the new order
        int orderID = OrderData.InsertOrder(customer);

        // Do order Completion Stuff and redirect to OrderConfirmation Page
        cart           = (ShoppingCart)Session["cart"];
        cartEnumerator = cart.GetCartContents();

        while (cartEnumerator.MoveNext())
        {
            LineItem lineItem = (LineItem)cartEnumerator.Value;

            OrderDetailData.InsertLineItem(orderID, lineItem);
            lineItem.Item.Quantity -= lineItem.Quantity;
            ProductData.UpdateQuantity(lineItem.Item);
        }

        // Empty the cart
        Session["cart"] = null;

        Response.Redirect("OrderConfirmation.aspx?orderID=" + orderID, true);
    }
コード例 #5
0
        public ActionResult Edit([Bind(Include =
                                           " OrderDetailId"
                                           + ",OrderId"
                                           + ",Quantity"
                                           + ",CatalogItemId"
                                           + ",Price"
                                           + ",SpecialInstructions"
                                           + ",DiscountPercent"
                                       )] OrderDetail OrderDetail)
        {
            OrderDetail oOrderDetail = new OrderDetail();

            oOrderDetail.OrderDetailId = System.Convert.ToInt32(OrderDetail.OrderDetailId);
            oOrderDetail = OrderDetailData.Select_Record(OrderDetail);

            if (ModelState.IsValid)
            {
                bool bSucess = false;
                bSucess = OrderDetailData.Update(oOrderDetail, OrderDetail);
                if (bSucess == true)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Can Not Update");
                }
            }
            // ComboBox
            ViewData["OrderId"]       = new SelectList(OrderDetail_OrderHeaderData.List(), "OrderId", "OrderId", OrderDetail.OrderId);
            ViewData["CatalogItemId"] = new SelectList(OrderDetail_CatalogItemData.List(), "CatalogItemId", "CatalogItemId", OrderDetail.CatalogItemId);

            return(View(OrderDetail));
        }
コード例 #6
0
        // GET: /OrderDetail/Delete/<id>
        public ActionResult Delete(
            Int32?OrderDetailId
            )
        {
            if (
                OrderDetailId == null
                )
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            dtOrderHeader = OrderDetail_OrderHeaderData.SelectAll();
            dtCatalogItem = OrderDetail_CatalogItemData.SelectAll();

            OrderDetail OrderDetail = new OrderDetail();

            OrderDetail.OrderDetailId = System.Convert.ToInt32(OrderDetailId);
            OrderDetail             = OrderDetailData.Select_Record(OrderDetail);
            OrderDetail.OrderHeader = new OrderHeader()
            {
                OrderId = (Int32)OrderDetail.OrderId
            };
            OrderDetail.CatalogItem = new CatalogItem()
            {
                CatalogItemId = (Int32)OrderDetail.CatalogItemId
            };

            if (OrderDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(OrderDetail));
        }
コード例 #7
0
        protected void Page_PreRenderComplete(object sender, EventArgs e) //Complete
        {
            if (!IsPostBack)
            {
                // hand query string if sent
                // Look for first Customer Name, and then ann stock items sent, also allow or Last Order.
                if (Request.QueryString.Count > 0)
                {
                    if (Request.QueryString[CONST_URL_REQUEST_CUSTOMERID] != null)
                    {
                        SetContactByID(Request.QueryString[CONST_URL_REQUEST_CUSTOMERID]);
                    }
                    else if (Request.QueryString[CONST_URL_REQUEST_NAME] != null)
                    {
                        SetContactValue(Request.QueryString[CONST_URL_REQUEST_COMPANYNAME], Request.QueryString[CONST_URL_REQUEST_NAME]);
                    }

                    // check if they want last order
                    if (Request.QueryString[CONST_URL_REQUEST_LASTORDER] != null)
                    {
                        if (Request.QueryString[CONST_URL_REQUEST_LASTORDER] == "Y")
                        {
                            AddLastOrder();
                        }
                        // now add stock item
                    }
                    if (Request.QueryString[CONST_URL_REQUEST_SKU1] != null)
                    {
                        List <QOnT.classes
                              .OrderDetailData> _newOrderItems = new List <OrderDetailData>();

                        // loop through all the SKUs and add them
                        int i = 1;
                        while (Request.QueryString["SKU" + i.ToString()] != null)
                        {
                            // check if there is such an item and return it if not null
                            OrderDetailData _newItem = GetNewOrderItemFromSKU(Request.QueryString["SKU" + i], Convert.ToDouble(Request.QueryString["SKUQTY" + i]));
                            if (_newItem != null)
                            {
                                _newOrderItems.Add(_newItem);
                            }
                            i++;
                        }
                        tbxNotes.Text += String.Format(">{0} items added", i - 1);
                        // now add the items to the database
                        foreach (OrderDetailData _newItem in _newOrderItems)
                        {
                            AddNewOrderLine(_newItem.ItemTypeID.ToString(), _newItem.QuantityOrdered, _newItem.PackagingID.ToString());
                        }

                        bool _LinesAdded = true; // lines should have been added since tthere are items.
                        Session[CONST_LINESADDED] = _LinesAdded;

///////////////
// should look at reopening the page in order detail here so that items are not readded.
///////////////
                    }
                }
            }
        }
コード例 #8
0
 public bool UpdateOrderDetail(OrderDetailData od)
 {
     return(OrderDetailService.Update(new Order_Detail()
     {
         ID = od.ID,
         book_ID = od.book_ID,
         order_ID = od.order_ID,
         quantity = od.quantity
     }));
 }
コード例 #9
0
ファイル: JoinController.cs プロジェクト: johnhilts/notes
        private OrderData AddOrder(CreditCardBillingModel model)
        {
            Order     order     = new Order();
            OrderData orderData = new OrderData
            {
                MemberId      = model.MemberId,
                EnteredDate   = DateTime.Today,
                PaymentChoice = PaymentChoices.CreditCard,
                ApprovedDate  = null,
                ApprovalCode  = null,
                Processing    = model.Processing,
                Freight       = 0,
                Tax           = 0,
                SubTotal      = 25, // model.SubTotal,
                CreatedDate   = DateTime.Today,
            };

            OrderDetailData orderDetailData = new OrderDetailData()
            {
                LineId    = 1,
                ProductId = 1,
                Quantity  = 1,
                Price     = 25,
            };

            OrderBillingAddressData orderBillingAddressData = new OrderBillingAddressData
            {
                FirstName     = model.FirstName,
                LastName      = model.LastName,
                StreetAddress = model.StreetAddress,
                City          = model.City,
                StateCode     = model.StateCode,
                PostalCode    = model.PostalCode,
                CountryCode   = model.CountryCode,
                Email         = model.Email,
                Phone         = model.Phone,
            };

            OrderCreditCardData orderCreditCardData = new OrderCreditCardData()
            {
                CardNumber      = model.CardNumber,
                ExpirationMonth = model.ExpirationMonth,
                ExpirationYear  = model.ExpirationYear,
                SecurityCode    = model.SecurityCode,
            };

            this._orderCreated = order.Add(orderData, orderDetailData, orderBillingAddressData, orderCreditCardData);

            return(orderData);
        }
    private void Page_Load(object sender, System.EventArgs e)
    {
        string foundOrderID = Request.Params.Get("orderID");

        if (foundOrderID != null)
        {
            int orderID = Convert.ToInt32(foundOrderID);

            if (orderID > 0)
            {
                order        = OrderData.FindOrderByOrderID(orderID);
                orderDetails = OrderDetailData.FindOrderDetailsByOrderID(orderID);
            }
        }
    }
コード例 #11
0
        public void RetriveDatabasedonPart()
        {
            if (PartNumber == string.Empty)
            {
                clearForm(); return;
            }
            var orderDetail = OrderDetailData.Where(x => x.PartDetail.PartNumber.Trim() == PartNumber).FirstOrDefault();

            if (orderDetail == null)
            {
                return;
            }
            CategoryCode        = orderDetail.MaterialType.Id;
            PartType            = orderDetail.MaterialGroup.Id;
            BillingLocationCode = orderDetail.WarehouseTo.Id;
            Modality            = orderDetail.Modality;
            RemaingQty          = orderDetail.Quantity - orderDetail.SQuantity;
        }
コード例 #12
0
        public void TestFindOrderDetailsByOrderID()
        {
            ArrayList foundOrderDetails = OrderDetailData.FindOrderDetailsByOrderID(orderID);

            Assert.IsNotNull(foundOrderDetails, "Found order details object was null, gasp!");
            Assert.IsTrue(foundOrderDetails.Count > 0, "Order Details array was empty.");

            if ((foundOrderDetails != null) && (foundOrderDetails.Count > 0))
            {
                Assert.AreEqual(orderID, ((OrderDetail)foundOrderDetails[0]).OrderID, "Order IDs don't match, gasp!");
                Assert.AreEqual(productID, ((OrderDetail)foundOrderDetails[0]).ProductID, "Product IDs don't match, gasp!");

                // This assertion is formating the unit price because without doing so, the decimal
                // expected value is 99.95 and the decimal actual value is 99.9500 for no explainable
                // reason.
                Assert.AreEqual(unitPrice.ToString("C"), ((OrderDetail)foundOrderDetails[0]).UnitPrice.ToString("C"), "Unit prices don't match, gasp!");
                Assert.AreEqual(quantityOrdered, ((OrderDetail)foundOrderDetails[0]).QuantityOrdered, "Quantities don't match, gasp!");
                Assert.AreEqual(discount, ((OrderDetail)foundOrderDetails[0]).Discount, "Discounts don't match, gasp!");
            }
        }
コード例 #13
0
ファイル: OrderDetailDAL.cs プロジェクト: wmachanik/QOnT
        public List <OrderDetailData> LoadOrderDetailData(Int64 CustomerId, DateTime DeliveryDate, String Notes, int MaximumRows, int StartRowIndex)
        {
            List <OrderDetailData> oDetails = new List <OrderDetailData>();
            TrackerDb _TDB    = new TrackerDb();
            string    _sqlCmd = "SELECT [ItemTypeID], [QuantityOrdered], [PackagingID], [OrderID] FROM [OrdersTbl] WHERE ";

            if (CustomerId == CustomersTbl.CONST_CUSTOMERID_GENERALOROTHER)
            {
                _sqlCmd += "([CustomerId] = " + CustomersTbl.CONST_STR_CUSTOMERID_GENERALOROTHER + ") AND ([RequiredByDate] = ?) AND ([Notes] = ?)";

                _TDB.AddWhereParams(DeliveryDate, DbType.Date, "@RequiredByDate");
                _TDB.AddWhereParams(Notes, DbType.String, "@Notes");
            }
            else
            {
                _sqlCmd += "([CustomerId] = ?) AND ([RequiredByDate] = ?)";
                _TDB.AddWhereParams(CustomerId, DbType.Int64, "@CustomerId");
                _TDB.AddWhereParams(DeliveryDate, DbType.Date, "@RequiredByDate");
            }
            IDataReader _DataReader = _TDB.ExecuteSQLGetDataReader(_sqlCmd);

            if (_DataReader != null)
            {
                while (_DataReader.Read())
                {
                    OrderDetailData od = new OrderDetailData();

                    od.ItemTypeID      = (_DataReader["ItemTypeID"] == DBNull.Value) ? 0 : (Int32)_DataReader["ItemTypeID"];
                    od.PackagingID     = (_DataReader["PackagingID"] == DBNull.Value) ? 0 : (Int32)_DataReader["PackagingID"];
                    od.OrderID         = (Int32)_DataReader["OrderId"]; // this is the PK cannot be null
                    od.QuantityOrdered = (_DataReader["QuantityOrdered"] == DBNull.Value) ? 1 : Math.Round(Convert.ToDouble(_DataReader["QuantityOrdered"]), 2);

                    oDetails.Add(od);
                }
                _DataReader.Close();
            }
            _TDB.Close();

            return(oDetails);
        }
コード例 #14
0
        protected OrderDetailData GetNewOrderItemFromSKU(string pSKU, double pSKUQTY)
        {
            // retrieve item from stock database and add to order table
            // string _connectionString,
            string          _ItemProvidedID;
            string          _ItemsSQL        = "SELECT ItemTypeID, SKU, ItemEnabled FROM ItemTypeTbl WHERE (SKU = ?)";
            OrderDetailData _OrderDetailItem = null; // assume not added

            if (ddlContacts.SelectedValue != null)
            {
                OleDbConnection _ItemsConnection = OpenTrackerOleDBConnection();
                OleDbCommand    _ItemsCommand    = new OleDbCommand(_ItemsSQL, _ItemsConnection);
                _ItemsCommand.Parameters.Add(new OleDbParameter {
                    Value = pSKU
                });
                _ItemsConnection.Open();
                OleDbDataReader _ItemsReader;
                _ItemsReader = _ItemsCommand.ExecuteReader();

                // there should only be one record, if not something strange, but add only the first one
                if ((_ItemsReader.Read()) && (_ItemsReader["ItemTypeID"] != null))
                {
                    _ItemProvidedID = _ItemsReader["ItemTypeID"].ToString();
                    // ? May need to get default packaging from client data base?
                    // now a a order line
                    //AddNewOrderLine(_ItemProvidedID, pSKUQTY, "");

                    _OrderDetailItem = new OrderDetailData {
                        ItemTypeID = Convert.ToInt32(_ItemProvidedID), QuantityOrdered = pSKUQTY, PackagingID = 0
                    };
                }
                else
                {
                    // sku not found, maybe add delivery next time
                    tbxNotes.Text += "SKU Not Found: " + pSKU + " QTY: " + pSKUQTY.ToString();
                }
            }
            // now return the item
            return(_OrderDetailItem);
        }
コード例 #15
0
        public ActionResult DeleteConfirmed(
            Int32?OrderDetailId
            )
        {
            OrderDetail OrderDetail = new OrderDetail();

            OrderDetail.OrderDetailId = System.Convert.ToInt32(OrderDetailId);
            OrderDetail = OrderDetailData.Select_Record(OrderDetail);

            bool bSucess = false;

            bSucess = OrderDetailData.Delete(OrderDetail);
            if (bSucess == true)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", "Can Not Delete");
            }
            return(null);
        }
コード例 #16
0
        private VerzEinheitType GetArchiveRecordDetailData(OrderDetailData verzEinheit)
        {
            var sipDate = sipDateBuilder.ConvertToValidSipDateString(
                verzEinheit.BeginStandardDate,
                verzEinheit.BeginApproxIndicator,
                verzEinheit.EndStandardDate,
                verzEinheit.EndApproxIndicator,
                verzEinheit.DateOperatorId.HasValue ? (ScopeArchivDateOperator)verzEinheit.DateOperatorId : (ScopeArchivDateOperator?)null,
                NoDataAvailable);

            Log.Debug("Processing detail data for archive record with id {archiveRecordId}", verzEinheit.Id);
            var retVal = new VerzEinheitType
            {
                VerzEinheitId         = Convert.ToInt64(verzEinheit.Id),
                Titel                 = !string.IsNullOrEmpty(verzEinheit.Title) ? verzEinheit.Title : NoDataAvailable,
                Signatur              = !string.IsNullOrEmpty(verzEinheit.ReferenceCode) ? verzEinheit.ReferenceCode : NoDataAvailable,
                Entstehungszeitraum   = sipDate,
                Stufe                 = !string.IsNullOrEmpty(verzEinheit.Level) ? verzEinheit.Level : NoDataAvailable,
                Aktenzeichen          = !string.IsNullOrEmpty(verzEinheit.DossierCode) ? verzEinheit.DossierCode : null,
                FrueheresAktenzeichen = !string.IsNullOrEmpty(verzEinheit.FormerDossierCode) ? verzEinheit.FormerDossierCode : null,
                Darin                 = !string.IsNullOrEmpty(verzEinheit.WithinRemark) ? verzEinheit.WithinRemark : null,
                Zusatzkomponente      = !string.IsNullOrEmpty(verzEinheit.Zusatzkomponente) ? verzEinheit.Zusatzkomponente : null,
                Form = string.IsNullOrEmpty(verzEinheit.Form) ? null : verzEinheit.Form
            };

            // Do we have child records? If yes, add all the the collection
            var children = dataProvider.GetChildrenRecordOrderDetailDataForArchiveRecord(Convert.ToInt64(verzEinheit.Id));

            if (children.Any())
            {
                retVal.UntergeordneteVerzEinheiten = children.Select(GetArchiveRecordDetailData).ToList();
            }

            // Add all containers to item
            retVal.Behaeltnisse = GetBehaltnisse(verzEinheit);

            return(retVal);
        }
コード例 #17
0
        private async Task UpsertSalesOrderDetail(string orderID)
        {
            var order = await _oc.Orders.GetAsync <HSOrder>(OrderDirection.Incoming, orderID);

            var brand = await _oc.Buyers.GetAsync <HSBuyer>(order.FromCompanyID);

            var promos = await _oc.Orders.ListPromotionsAsync(OrderDirection.Incoming, orderID);

            var cosmosSalesOrder = new OrderDetailData()
            {
                PartitionKey = "PartitionValue",
                OrderID      = orderID,
                Data         = order,
                BrandName    = brand.Name
            };

            if (promos.Items.Count > 0)
            {
                cosmosSalesOrder.Promos = ReportPromoBuilder.BuildPromoFields(promos, ReportTypeEnum.SalesOrderDetail);
            }

            var queryable = _salesOrderDetailDataRepo.GetQueryable().Where(order => order.PartitionKey == "PartitionValue");

            var requestOptions = BuildQueryRequestOptions();

            var listOptions = BuildListOptions(orderID);

            CosmosListPage <OrderDetailData> currentOrderListPage = await _salesOrderDetailDataRepo.GetItemsAsync(queryable, requestOptions, listOptions);

            var cosmosID = "";

            if (currentOrderListPage.Items.Count() == 1)
            {
                cosmosID = cosmosSalesOrder.id = currentOrderListPage.Items[0].id;
            }

            await _salesOrderDetailDataRepo.UpsertItemAsync(cosmosID, cosmosSalesOrder);
        }
コード例 #18
0
ファイル: JoinController.cs プロジェクト: johnhilts/notes
        private OrderData AddOrder(MoneyOrderBillingModel model)
        {
            Order     order     = new Order();
            OrderData orderData = new OrderData
            {
                MemberId      = model.MemberId,
                EnteredDate   = DateTime.Today,
                PaymentChoice = PaymentChoices.MoneyOrder,
                ApprovedDate  = null,
                ApprovalCode  = null,
                Processing    = model.Processing,
                Freight       = 0,
                Tax           = 0,
                SubTotal      = 25, // model.SubTotal,
                CreatedDate   = DateTime.Today,
            };

            OrderDetailData orderDetailData = new OrderDetailData()
            {
                LineId    = 1,
                ProductId = 1,
                Quantity  = 1,
                Price     = 25,
            };

            OrderBillingAddressData orderBillingAddressData = new OrderBillingAddressData
            {
                FirstName = model.FirstName,
                LastName  = model.LastName,
                Email     = model.Email,
                Phone     = model.Phone,
            };

            this._orderCreated = order.Add(orderData, orderDetailData, orderBillingAddressData, null);

            return(orderData);
        }
コード例 #19
0
        protected OrderDetailData GetNewOrderItemFromSKU(string pSKU, double pSKUQTY)
        {
            const string CONST_PACKAGINGNOTE = "Please check packing setting";

            // retrieve item from stock database and add to order table
            // string _connectionString,
            string          _ItemProvidedID;
            string          _ItemsSQL        = "SELECT ItemTypeID, SKU, ItemEnabled FROM ItemTypeTbl WHERE (SKU = ?)";
            OrderDetailData _OrderDetailItem = null; // assume not added

            if (ddlContacts.SelectedValue != null)
            {
                TrackerDb _TDB = new TrackerDb();
                if (pSKU == CONST_BLUEWATERFILTER)
                {
                    _TDB.AddWhereParams(CONST_WATERFILTER, System.Data.DbType.String);
                }
                else
                {
                    _TDB.AddWhereParams(pSKU, System.Data.DbType.String);
                }
                IDataReader _ItemsReader = _TDB.ExecuteSQLGetDataReader(_ItemsSQL);
                if (_ItemsReader != null)
                {
                    // there should only be one record, if not something strange, but add only the first one
                    if ((_ItemsReader.Read()) && (_ItemsReader["ItemTypeID"] != null))
                    {
                        _ItemProvidedID = _ItemsReader["ItemTypeID"].ToString();

                        // set Packaging IDs
                        int _PackagingID = (pSKUQTY < 1) ? PackagingTbl.CONST_PACKID_LESS1KG : PackagingTbl.CONST_PACKID_NA;
                        if (!_PackagingID.Equals(PackagingTbl.CONST_PACKID_NA))
                        {
                            if (!tbxNotes.Text.Contains(CONST_PACKAGINGNOTE))
                            {
                                tbxNotes.Text += (tbxNotes.Text.Length > 0) ? " " : "" + "Please check packing setting";
                            }
                        }
                        // ? May need to get default packaging from client data base? now a a order line
                        if (pSKU == CONST_BLUEWATERFILTER)
                        {
                            _PackagingID = PackagingTbl.CONST_PACKID_BLUEFILTER;
                        }
                        else if (pSKU == CONST_WATERFILTER)
                        {
                            _PackagingID = PackagingTbl.CONST_PACKID_WHITEFILTER;
                        }

                        _OrderDetailItem = new OrderDetailData
                        {
                            ItemTypeID      = Convert.ToInt32(_ItemProvidedID),
                            QuantityOrdered = pSKUQTY,
                            PackagingID     = _PackagingID
                        };
                    }
                    else
                    {
                        // sku not found, maybe add delivery next time
                        tbxNotes.Text += "SKU Not Found: " + pSKU + " QTY: " + pSKUQTY.ToString();
                    }

                    _ItemsReader.Dispose();
                }
                _TDB.Close();
            }
            // now return the item
            return(_OrderDetailItem);
        }
コード例 #20
0
        public void TestInsertLineItem()
        {
            int rows = OrderDetailData.InsertLineItem(orderID, lineItem);

            Assert.AreEqual(1, rows, "Unexpected OrderDetail row count, gasp!");
        }
コード例 #21
0
        // GET: /OrderDetail/
        public ActionResult Index(string sortOrder,
                                  String SearchField,
                                  String SearchCondition,
                                  String SearchText,
                                  String Export,
                                  int?PageSize,
                                  int?page,
                                  string command)
        {
            if (command == "Show All")
            {
                SearchField                = null;
                SearchCondition            = null;
                SearchText                 = null;
                Session["SearchField"]     = null;
                Session["SearchCondition"] = null;
                Session["SearchText"]      = null;
            }
            else if (command == "Add New Record")
            {
                return(RedirectToAction("Create"));
            }
            else if (command == "Export")
            {
                Session["Export"] = Export;
            }
            else if (command == "Search" | command == "Page Size")
            {
                if (!string.IsNullOrEmpty(SearchText))
                {
                    Session["SearchField"]     = SearchField;
                    Session["SearchCondition"] = SearchCondition;
                    Session["SearchText"]      = SearchText;
                }
            }
            if (command == "Page Size")
            {
                Session["PageSize"] = PageSize;
            }

            ViewData["SearchFields"]     = GetFields((Session["SearchField"] == null ? "Order Detail Id" : Convert.ToString(Session["SearchField"])));
            ViewData["SearchConditions"] = Library.GetConditions((Session["SearchCondition"] == null ? "Contains" : Convert.ToString(Session["SearchCondition"])));
            ViewData["SearchText"]       = Session["SearchText"];
            ViewData["Exports"]          = Library.GetExports((Session["Export"] == null ? "Pdf" : Convert.ToString(Session["Export"])));
            ViewData["PageSizes"]        = Library.GetPageSizes();

            ViewData["CurrentSort"]                 = sortOrder;
            ViewData["OrderDetailIdSortParm"]       = sortOrder == "OrderDetailId_asc" ? "OrderDetailId_desc" : "OrderDetailId_asc";
            ViewData["OrderIdSortParm"]             = sortOrder == "OrderId_asc" ? "OrderId_desc" : "OrderId_asc";
            ViewData["QuantitySortParm"]            = sortOrder == "Quantity_asc" ? "Quantity_desc" : "Quantity_asc";
            ViewData["CatalogItemIdSortParm"]       = sortOrder == "CatalogItemId_asc" ? "CatalogItemId_desc" : "CatalogItemId_asc";
            ViewData["PriceSortParm"]               = sortOrder == "Price_asc" ? "Price_desc" : "Price_asc";
            ViewData["SpecialInstructionsSortParm"] = sortOrder == "SpecialInstructions_asc" ? "SpecialInstructions_desc" : "SpecialInstructions_asc";
            ViewData["DiscountPercentSortParm"]     = sortOrder == "DiscountPercent_asc" ? "DiscountPercent_desc" : "DiscountPercent_asc";

            dtOrderDetail = OrderDetailData.SelectAll();
            dtOrderHeader = OrderDetail_OrderHeaderData.SelectAll();
            dtCatalogItem = OrderDetail_CatalogItemData.SelectAll();

            try
            {
                if (!string.IsNullOrEmpty(Convert.ToString(Session["SearchField"])) & !string.IsNullOrEmpty(Convert.ToString(Session["SearchCondition"])) & !string.IsNullOrEmpty(Convert.ToString(Session["SearchText"])))
                {
                    dtOrderDetail = OrderDetailData.Search(Convert.ToString(Session["SearchField"]), Convert.ToString(Session["SearchCondition"]), Convert.ToString(Session["SearchText"]));
                }
            }
            catch { }

            var Query = from rowOrderDetail in dtOrderDetail.AsEnumerable()
                        join rowOrderHeader in dtOrderHeader.AsEnumerable() on rowOrderDetail.Field <Int32>("OrderId") equals rowOrderHeader.Field <Int32>("OrderId")
                        join rowCatalogItem in dtCatalogItem.AsEnumerable() on rowOrderDetail.Field <Int32>("CatalogItemId") equals rowCatalogItem.Field <Int32>("CatalogItemId")
                        select new OrderDetail()
            {
                OrderDetailId = rowOrderDetail.Field <Int32>("OrderDetailId")
                ,
                OrderHeader = new OrderHeader()
                {
                    OrderId = rowOrderHeader.Field <Int32>("OrderId")
                }
                , Quantity = rowOrderDetail.Field <Decimal>("Quantity")
                ,
                CatalogItem = new CatalogItem()
                {
                    CatalogItemId = rowCatalogItem.Field <Int32>("CatalogItemId")
                }
                , Price = rowOrderDetail.Field <Decimal>("Price")
                , SpecialInstructions = rowOrderDetail.Field <String>("SpecialInstructions")
                , DiscountPercent     = rowOrderDetail.Field <Byte>("DiscountPercent")
            };

            switch (sortOrder)
            {
            case "OrderDetailId_desc":
                Query = Query.OrderByDescending(s => s.OrderDetailId);
                break;

            case "OrderDetailId_asc":
                Query = Query.OrderBy(s => s.OrderDetailId);
                break;

            case "OrderId_desc":
                Query = Query.OrderByDescending(s => s.OrderHeader.OrderId);
                break;

            case "OrderId_asc":
                Query = Query.OrderBy(s => s.OrderHeader.OrderId);
                break;

            case "Quantity_desc":
                Query = Query.OrderByDescending(s => s.Quantity);
                break;

            case "Quantity_asc":
                Query = Query.OrderBy(s => s.Quantity);
                break;

            case "CatalogItemId_desc":
                Query = Query.OrderByDescending(s => s.CatalogItem.CatalogItemId);
                break;

            case "CatalogItemId_asc":
                Query = Query.OrderBy(s => s.CatalogItem.CatalogItemId);
                break;

            case "Price_desc":
                Query = Query.OrderByDescending(s => s.Price);
                break;

            case "Price_asc":
                Query = Query.OrderBy(s => s.Price);
                break;

            case "SpecialInstructions_desc":
                Query = Query.OrderByDescending(s => s.SpecialInstructions);
                break;

            case "SpecialInstructions_asc":
                Query = Query.OrderBy(s => s.SpecialInstructions);
                break;

            case "DiscountPercent_desc":
                Query = Query.OrderByDescending(s => s.DiscountPercent);
                break;

            case "DiscountPercent_asc":
                Query = Query.OrderBy(s => s.DiscountPercent);
                break;

            default:      // Name ascending
                Query = Query.OrderBy(s => s.OrderDetailId);
                break;
            }

            if (command == "Export")
            {
                GridView  gv = new GridView();
                DataTable dt = new DataTable();
                dt.Columns.Add("Order Detail Id", typeof(string));
                dt.Columns.Add("Order Id", typeof(string));
                dt.Columns.Add("Quantity", typeof(string));
                dt.Columns.Add("Catalog Item Id", typeof(string));
                dt.Columns.Add("Price", typeof(string));
                dt.Columns.Add("Special Instructions", typeof(string));
                dt.Columns.Add("Discount Percent", typeof(string));
                foreach (var item in Query)
                {
                    dt.Rows.Add(
                        item.OrderDetailId
                        , item.OrderHeader.OrderId
                        , item.Quantity
                        , item.CatalogItem.CatalogItemId
                        , item.Price
                        , item.SpecialInstructions
                        , item.DiscountPercent
                        );
                }
                gv.DataSource = dt;
                gv.DataBind();
                ExportData(Export, gv, dt);
            }

            int pageNumber = (page ?? 1);
            int?pageSZ     = (Convert.ToInt32(Session["PageSize"]) == 0 ? 5 : Convert.ToInt32(Session["PageSize"]));

            return(View(Query.ToPagedList(pageNumber, (pageSZ ?? 5))));
        }
コード例 #22
0
        private async Task UpsertPurchaseOrderDetail(string orderID)
        {
            var orders = await _oc.Orders.ListAllAsync <HSOrder>(OrderDirection.Outgoing, filters : $"ID={orderID}-*");

            var queryable = _purchaseOrderDetailDataRepo.GetQueryable().Where(order => order.PartitionKey == "PartitionValue");

            var requestOptions = BuildQueryRequestOptions();

            var salesOrderWorksheet = await _oc.IntegrationEvents.GetWorksheetAsync <HSOrderWorksheet>(OrderDirection.Incoming, orderID);

            var promos = await _oc.Orders.ListPromotionsAsync(OrderDirection.Incoming, salesOrderWorksheet.Order.ID);

            var discountedLineItems = new List <HSLineItem>();

            if (promos.Items.Count() > 0)
            {
                var discountedLineFilter = new Dictionary <string, object>
                {
                    ["PromotionDiscount"] = ">0"
                };

                discountedLineItems = await _oc.LineItems.ListAllAsync <HSLineItem>(OrderDirection.Incoming, salesOrderWorksheet.Order.ID, filters : discountedLineFilter);
            }

            foreach (var order in orders)
            {
                order.FromUser = salesOrderWorksheet.Order.FromUser;

                order.BillingAddress = new HSAddressBuyer()
                {
                    xp = new BuyerAddressXP()
                    {
                        LocationID = salesOrderWorksheet?.Order?.BillingAddress?.xp?.LocationID
                    }
                };

                var brand = await _oc.Buyers.GetAsync <HSBuyer>(salesOrderWorksheet.Order.FromCompanyID);

                var supplier = await _oc.Suppliers.GetAsync <HSSupplier>(order.ToCompanyID);

                order.ShippingCost = GetPurchaseOrderShippingCost(salesOrderWorksheet, order.ToCompanyID);
                if (salesOrderWorksheet.Order.PromotionDiscount > 0)
                {
                    order.PromotionDiscount = GetPurchaseOrderPromotionDiscount(salesOrderWorksheet, order.ToCompanyID);
                }

                var cosmosPurchaseOrder = new OrderDetailData()
                {
                    PartitionKey = "PartitionValue",
                    OrderID      = order.ID,
                    Data         = order,
                    SupplierName = supplier.Name,
                    BrandName    = brand.Name,
                };

                if (promos.Items.Count > 0)
                {
                    cosmosPurchaseOrder.Promos = ReportPromoBuilder.BuildPromoFields(promos, ReportTypeEnum.PurchaseOrderDetail, order.ToCompanyID, discountedLineItems);
                }

                var listOptions = BuildListOptions(order.ID);

                CosmosListPage <OrderDetailData> currentOrderListPage = await _purchaseOrderDetailDataRepo.GetItemsAsync(queryable, requestOptions, listOptions);

                var cosmosID = "";
                if (currentOrderListPage.Items.Count() == 1)
                {
                    cosmosID = cosmosPurchaseOrder.id = currentOrderListPage.Items[0].id;
                }

                await _purchaseOrderDetailDataRepo.UpsertItemAsync(cosmosID, cosmosPurchaseOrder);
            }
        }
コード例 #23
0
        protected void Page_PreRenderComplete(object sender, EventArgs e) //Complete
        {
            if (!IsPostBack)
            {
                // hand query string if sent
                // Look for first Customer Name, and then ann stock items sent, also allow or Last Order.
                if (Request.QueryString.Count > 0)
                {
                    if (Request.QueryString[CONST_URL_REQUEST_CUSTOMERID] != null)
                    {
                        SetContactByID(Request.QueryString[CONST_URL_REQUEST_CUSTOMERID]);
                    }
                    else if (Request.QueryString[CONST_URL_REQUEST_NAME] != null)
                    {
                        SetContactValue(Request.QueryString[CONST_URL_REQUEST_COMPANYNAME], Request.QueryString[CONST_URL_REQUEST_NAME], Request.QueryString[CONST_URL_REQUEST_EMAIL]);
                    }

                    // check if they want last order
                    if (Request.QueryString[CONST_URL_REQUEST_LASTORDER] != null)
                    {
                        if (Request.QueryString[CONST_URL_REQUEST_LASTORDER] == "Y")
                        {
                            if (AddLastOrder(true))
                            {
                                RedirectToOrderDetail();
                            }
                        }
                        // now add stock item
                    }
                    if (Request.QueryString[CONST_URL_REQUEST_SKU1] != null)
                    {
                        // set the dates and delivery
                        if ((ddlContacts != null) && (Convert.ToInt64(ddlContacts.SelectedValue) > 0))
                        {
                            SetPrepAndDeliveryValues(Convert.ToInt64(ddlContacts.SelectedValue));
                        }
                        ///
                        List <TrackerDotNet.control.OrderDetailData> _newOrderItems = new List <OrderDetailData>();
                        bool _hasNullItems = false;
                        // loop through all the SKUs and add them
                        int i = 1;
                        while (Request.QueryString["SKU" + i.ToString()] != null)
                        {
                            // check if there is such an item and return it if not null
                            OrderDetailData _newItem = GetNewOrderItemFromSKU(Request.QueryString["SKU" + i], Convert.ToDouble(Request.QueryString["SKUQTY" + i]));
                            if (_newItem != null)
                            {
                                _newOrderItems.Add(_newItem);
                            }
                            else
                            if (!_hasNullItems)
                            {
                                _hasNullItems = true;
                                // add a new item that is a note.
                                _newOrderItems.Add(new OrderDetailData {
                                    ItemTypeID = CONST_NOTEITEMTIMEID, QuantityOrdered = 1, PackagingID = 0
                                });
                            }
                            i++;
                        }
                        tbxNotes.Text += String.Format(">{0} items added", i - 1);
                        // now add the items to the database
                        foreach (OrderDetailData _newItem in _newOrderItems)
                        {
                            AddNewOrderLine(_newItem.ItemTypeID, _newItem.QuantityOrdered, _newItem.PackagingID);
                        }

                        bool _LinesAdded = true; // lines should have been added since tthere are items.
                        Session[CONST_LINESADDED] = _LinesAdded;
                        RedirectToOrderDetail();
                    }
                }
            }
        }