private void BindData()
        {
            ClientCartContext clientData = (ClientCartContext)Session["ClientOrderData"];

            Order orderData = CSResolve.Resolve <IOrderService>().GetOrderDetails(clientData.OrderId);

            dlordersList.DataSource = orderData.SkuItems.Where <Sku>(x => { return(x.SkuCode != "Shipping"); });
            dlordersList.DataBind();
            LiteralSubTotal.Text = Math.Round(OrderValues.GetSubTotal(orderData), 2).ToString();
            LiteralShipping.Text = Math.Round(OrderValues.GetShippingCharge(orderData), 2).ToString();
            LiteralTax.Text      = Math.Round(orderData.Tax, 2).ToString();
            LiteralTotal.Text    = Math.Round(orderData.Total, 2).ToString();
            if (orderData.RushShippingCost > 0)
            {
                pnlRushLabel.Visible     = true;
                pnlRush.Visible          = true;
                LiteralRushShipping.Text = Math.Round(orderData.RushShippingCost, 2).ToString();
            }


            if (orderData.DiscountCode.Length > 0)
            {
                pnlPromotionLabel.Visible    = true;
                pnlPromotionalAmount.Visible = true;

                lblPromotionPrice.Text = String.Format("(${0:0.00})", orderData.DiscountAmount);
            }
        }
Пример #2
0
        protected void dvOrderEdit_OnDataBound(object sender, EventArgs e)
        {
            DetailsView myDetailsView = (DetailsView)sender;

            if (myDetailsView.CurrentMode == DetailsViewMode.Insert)
            {
                //      QOnT.classes.TrackerTools tt = new classes.TrackerTools();
                //      DateTime dt = tt.GetClosestNextRoastDate(DateTime.Now);

                // if there session has lost vars re-initializa
                if (Session[SV_ORDERVALUES] == null)
                {
                    InitializeOrderVars();
                }

                // retrieve values
                OrderValues _MyOrderValues = (OrderValues)Session[SV_ORDERVALUES];

                // take values from session and set them
                ((DropDownList)myDetailsView.FindControl(DV_CONTROL_CUSTOMER)).SelectedIndex    = _MyOrderValues.CustomerID;
                ((TextBox)myDetailsView.FindControl(DV_CONTROL_ORDER_DATE)).Text                = _MyOrderValues.dtOrder.ToString("d");
                ((TextBox)myDetailsView.FindControl(DV_CONTROL_ROAST_DATE)).Text                = _MyOrderValues.dtRoast.ToString("d");
                ((TextBox)myDetailsView.FindControl(DV_CONTROL_REQUIRED_BY_DATE)).Text          = _MyOrderValues.dtRequiredBy.ToString("d");
                ((DropDownList)myDetailsView.FindControl(DV_CONTROL_DELIVERY_BY)).SelectedIndex = _MyOrderValues.DeliverByID;
                ((TextBox)myDetailsView.FindControl(DV_CONTROL_QTY)).Text           = "1";
                ((CheckBox)myDetailsView.FindControl(DV_CONTROL_CONFIRMED)).Checked = _MyOrderValues.IsConfirmed;
                ((TextBox)myDetailsView.FindControl(DV_CONTROL_NOTES)).Text         = _MyOrderValues.Notes;
            }
        }
Пример #3
0
        protected void dvOrderEdit_OnItemInserted(object sender, EventArgs e)
        {
            DetailsView myDetailsView = (DetailsView)sender;
            //      QOnT.classes.TrackerTools tt = new classes.TrackerTools();
            //      DateTime dt = tt.GetClosestNextRoastDate(DateTime.Now);

            // retrieve values
            OrderValues _MyOrderValues = new OrderValues();

            // take values from session and set them
            DropDownList _ddlCustomers = ((DropDownList)myDetailsView.FindControl(DV_CONTROL_CUSTOMER));

            _MyOrderValues.CustomerID   = _ddlCustomers.SelectedIndex;
            _MyOrderValues.dtOrder      = Convert.ToDateTime(((TextBox)myDetailsView.FindControl(DV_CONTROL_ORDER_DATE)).Text);
            _MyOrderValues.dtRoast      = Convert.ToDateTime(((TextBox)myDetailsView.FindControl(DV_CONTROL_ROAST_DATE)).Text);
            _MyOrderValues.dtRequiredBy = Convert.ToDateTime(((TextBox)myDetailsView.FindControl(DV_CONTROL_REQUIRED_BY_DATE)).Text);
            _MyOrderValues.DeliverByID  = ((DropDownList)myDetailsView.FindControl(DV_CONTROL_DELIVERY_BY)).SelectedIndex;
            _MyOrderValues.IsConfirmed  = ((CheckBox)myDetailsView.FindControl(DV_CONTROL_CONFIRMED)).Checked;
            _MyOrderValues.Notes        = ((TextBox)myDetailsView.FindControl(DV_CONTROL_NOTES)).Text;
            // save the values
            Session[SV_ORDERVALUES] = _MyOrderValues;

            ltrlStatus.Text = "Order added for customer: " + _ddlCustomers.SelectedValue;
            // now bind the GridView
            BindGridViewData(sender, e);
            ddlFilterBy.Focus();
            this.Form.DefaultButton = btnGo.UniqueID;
        }
        // native
        private void IndexSeveralObjects(PurchaseOrder order)
        {
            // local variables
            IEnumerable <AddressValues> addressValues = null;
            OrderValues orderValues = null;

            addressValues = SplitOrder(order);
            orderValues   = AggregateValues(order);

            IndexInFind(orderValues, addressValues);
        }
Пример #5
0
        //TODO: Refactor
        public override async Task LoadAsync()
        {
            try
            {
                var dateTo    = _dateTo.AddDays(1);
                var customers = await _customerRepository.FindByAsync(c => c.DateAdded >= _dateFrom && c.DateAdded <= dateTo);

                var orders = await _orderRepository.FindByAsync(o => o.DateAdded >= _dateFrom && o.DateAdded <= dateTo);

                var customerDates = GetEmptyDateModels(_dateFrom, _dateTo)
                                    .Cast <DateModel>()
                                    .ToDictionary(dm => dm.DateTime);

                var customerQuery = from c in customers
                                    group c by c.DateAdded.Date into g
                                    orderby g.Key
                                    select new DateModel {
                    DateTime = g.Key, Value = g.Count()
                };

                foreach (var dateModel in customerQuery)
                {
                    customerDates[dateModel.DateTime].Value = dateModel.Value;
                }

                CustomerValues.Clear();
                CustomerValues.AddRange(customerDates.Values);

                var orderDates = GetEmptyDateModels(_dateFrom, _dateTo)
                                 .Cast <DateModel>()
                                 .ToDictionary(dm => dm.DateTime);

                var orderQuery = from o in orders
                                 group o by o.DateAdded.Date into g
                                 orderby g.Key
                                 select new DateModel {
                    DateTime = g.Key, Value = g.Count()
                };

                foreach (var dateModel in orderQuery)
                {
                    orderDates[dateModel.DateTime].Value = dateModel.Value;
                }

                OrderValues.Clear();
                OrderValues.AddRange(orderDates.Values);
            }
            catch (Exception ex)
            {
                _logger.Debug(ex);
                _logger.Error(ex);
            }
        }
        // Done for lab - Cleaned
        private void IndexInFind(OrderValues orderValues, IEnumerable <AddressValues> addressValues)
        {
            // ...just a test with several addesses, as we in the checkout only have one address
            List <AddressValues> locallist = addressValues.ToList();

            AddressValues v = new AddressValues
            {
                CityName            = "Motala",
                CountryName         = "Tibet",
                ID                  = "DummyAddress",
                Line1               = "SmallTown",
                OrderGroupAddressId = -1,
                OrderGroupId        = addressValues.FirstOrDefault().OrderGroupId // borrowing some
            };

            locallist.Add(v);

            foreach (AddressValues item in addressValues)
            {
                // can get this - "Invalid type id. Maximum 200 word characters (letter, number, underscore, dot, comma)
                item.ID = item.ID.Replace(" ", "-"); // do not like whitespace
            }

            if (addressValues == null) // if it of some reason should be
            {
                try
                {
                    _client.Index(orderValues);
                    WentWell = true;
                }
                catch (Exception)
                {
                    WentWell = false;
                }
            }
            else
            {
                try
                {
                    _client.Index(orderValues); // gets one doc with IEnumerables
                    _client.Index(locallist);   // gets 2 docs
                    WentWell = true;
                }
                catch (Exception ex)
                {
                    string errorMsg = ex.Message;
                    string inner    = ex.InnerException.Message;
                    WentWell = false;
                }
            }
        }
        private void BindData()
        {
            if (orderId > 0)
            {
                Order orderData = CSResolve.Resolve <IOrderService>().GetOrderDetails(orderId);
                dlordersList.DataSource = orderData.SkuItems.Where <Sku>(x => { return(x.SkuCode != "Shipping"); });
                dlordersList.DataBind();
                LiteralSubTotal.Text = Math.Round(OrderValues.GetSubTotal(orderData), 2).ToString();
                LiteralShipping.Text = Math.Round(OrderValues.GetShippingCharge(orderData), 2).ToString("f2");
                LiteralTax.Text      = Math.Round(orderData.Tax, 2).ToString();
                LiteralTotal.Text    = Math.Round(orderData.Total, 2).ToString();
                if (orderData.RushShippingCost > 0)
                {
                    pnlRushLabel.Visible     = true;
                    pnlRush.Visible          = true;
                    LiteralRushShipping.Text = Math.Round(orderData.RushShippingCost, 2).ToString();
                }


                if (orderData.DiscountCode.Length > 0)
                {
                    pnlPromotionLabel.Visible    = true;
                    pnlPromotionalAmount.Visible = true;

                    lblPromotionPrice.Text = String.Format("(${0:0.00})", orderData.DiscountAmount);
                }


                ltOrderId.Text       = orderData.OrderId.ToString();
                LiteralName.Text     = String.Format("{0} {1}", orderData.CustomerInfo.ShippingAddress.FirstName, orderData.CustomerInfo.ShippingAddress.LastName);
                LiteralEmail.Text    = orderData.CustomerInfo.Email;
                LiteralAddress.Text  = orderData.CustomerInfo.ShippingAddress.Address1;
                LiteralAddress2.Text = orderData.CustomerInfo.ShippingAddress.Address2;
                LiteralCity.Text     = orderData.CustomerInfo.ShippingAddress.City;
                LiteralZip.Text      = orderData.CustomerInfo.ShippingAddress.ZipPostalCode;
                LiteralState.Text    = StateManager.GetStateName(orderData.CustomerInfo.ShippingAddress.StateProvinceId);

                LiteralName_b.Text     = String.Format("{0} {1}", orderData.CustomerInfo.BillingAddress.FirstName, orderData.CustomerInfo.BillingAddress.LastName);
                LiteralAddress_b.Text  = orderData.CustomerInfo.BillingAddress.Address1;
                LiteralAddress2_b.Text = orderData.CustomerInfo.BillingAddress.Address2;
                LiteralCity_b.Text     = orderData.CustomerInfo.BillingAddress.City;
                LiteralZip_b.Text      = orderData.CustomerInfo.BillingAddress.ZipPostalCode;
                LiteralState_b.Text    = StateManager.GetStateName(orderData.CustomerInfo.BillingAddress.StateProvinceId);

                //Google Analutics E-Commerce Pixel
                //LoadGoogleAnalytics(orderData);

                LoadOfferTerms(CartContext.CartInfo.CartItems[0]);
            }
        }
        public static void SetOrderStatus(int bigCommerceOrderId, string netsuiteOrderId)
        {
            OrderValues orderValues = new OrderValues(awaitingShipmentStatusId, netsuiteOrderId);
            string      jsonRequest = JsonConvert.SerializeObject(orderValues);

            RestClient  client  = new RestClient(BigCommerceHelper.baseUrl);
            RestRequest request = BigCommerceHelper.CreateNewPutRequest(bigCommerceOrderId, jsonRequest);

            IRestResponse ordersApiResponse = client.Execute(request);

            if (ordersApiResponse.StatusCode.ToString() != "OK")
            {
                throw new Exception($"Error in setting order status to Awaiting Shipment. Big Commerce order id {bigCommerceOrderId}");
            }
        }
Пример #9
0
        private void InitializeOrderVars()
        {
            QOnT.classes.TrackerTools tt = new classes.TrackerTools();
            DateTime dt = tt.GetClosestNextRoastDate(DateTime.Now);

            OrderValues _MyOrderValues = new OrderValues();

            _MyOrderValues.CustomerID   = 0;
            _MyOrderValues.dtOrder      = DateTime.Now;
            _MyOrderValues.dtRoast      = dt;
            _MyOrderValues.dtRequiredBy = dt.AddDays(1);
            _MyOrderValues.DeliverByID  = Convert.ToInt16(ConfigurationManager.AppSettings["DefaultDeliveryID"]); // mzukisi?
            _MyOrderValues.IsConfirmed  = true;

            Session[SV_ORDERVALUES] = _MyOrderValues;
        }
        // Done for lab - Cleaned
        private OrderValues AggregateValues(PurchaseOrder order)
        {
            // Do the below, else possible null-ex
            string custName = String.Empty;

            if (String.IsNullOrEmpty(order.CustomerName))
            {
                custName = "Anonymous";
            }
            else
            {
                custName = order.CustomerName;
            }

            // target for LineItems & Qty
            Dictionary <string, decimal> itemDict = new Dictionary <string, decimal>();

            foreach (LineItem item in order.OrderForms[0].LineItems)
            {
                itemDict.Add(item.Code, item.Quantity);
            }

            // using a single OrderForm in this example
            OrderValues po = new OrderValues()
            {
                lineItems     = itemDict,
                lineItemTotal = order.OrderForms[0].LineItems.Sum(x => x.PlacedPrice * x.Quantity),  // should consider discounts
                PoTrackingNo  = order.TrackingNumber,
                LineItemCodes = order.OrderForms[0].LineItems.Select(l => l.Code).ToList(),
                SubTotal      = order.SubTotal,
                PoType        = order.MetaClass.Name,
                orderDate     = order.Created,
                orderGroupId  = order.OrderGroupId,
                customerName  = custName,
                currency      = order.BillingCurrency,
            };

            return(po);
        }
Пример #11
0
 public List <OrderItem> ReadOrderFile()
 {
     try
     {
         if (File.Exists(@OrderDir))
         {
             List <OrderItem> orders = File.ReadAllLines(@OrderDir)
                                       .Select(v => OrderValues.ParseToObject(v))
                                       .ToList();
             return(orders);
         }
         else
         {
             EmptyFile(@OrderDir);
             return(new List <OrderItem>());
         }
     }
     catch
     {
         Console.WriteLine("Could not read Order file...");
         return(new List <OrderItem>());
     }
 }