Пример #1
0
        public static List <OrderItem> GetReport(string file)
        {
            string[] separater  = { @""",""" };
            var      orderItems = new List <OrderItem>();

            if (string.IsNullOrWhiteSpace(file))
            {
                return(orderItems);
            }

            using (var reader = new StreamReader(file))
            {
                List <string> listA = new List <string>();
                List <string> listB = new List <string>();
                var           line  = reader.ReadLine();
                while (!reader.EndOfStream)
                {
                    var newItem = true;
                    line = reader.ReadLine();
                    var       values    = line.Split(separater, StringSplitOptions.None);
                    OrderItem orderItem = null;

                    orderItem            = new OrderItem();
                    orderItem.SKU        = values[sku];
                    orderItem.OrderID    = values[order_id];
                    orderItem.DateSold   = values[date];
                    orderItem.SoldFor    = PaymentDetail.ConvertDollarstoPennies(values[sold_for]);
                    orderItem.BoughtFrom = values[bought_from].Contains("EBAY") ? "Ebay" : string.Empty;
                    orderItem.ItemName   = values[product_title];
                    orderItems.Add(orderItem);
                }
            }
            return(orderItems);
        }
Пример #2
0
        public static List <OrderItem> GetOrderReport(string file)
        {
            var deliminator = ',';
            var orderItems  = new List <OrderItem>();

            using (var reader = new StreamReader(file))
            {
                List <string> listA = new List <string>();
                List <string> listB = new List <string>();
                var           line  = reader.ReadLine();
                line = reader.ReadLine();
                line = reader.ReadLine();
                while (!reader.EndOfStream)
                {
                    var newItem   = true;
                    var chararray = reader.ReadLine().ToCharArray();
                    var skip      = false;
                    for (int i = 0; i < chararray.Length; i++)
                    {
                        if (chararray[i] == '"')
                        {
                            skip = !skip;
                        }
                        if (skip)
                        {
                            continue;
                        }
                        if (deliminator == chararray[i])
                        {
                            chararray[i] = ';';
                        }
                    }
                    line = new string(chararray);
                    var       values    = line.Split(';');
                    OrderItem orderItem = new OrderItem();
                    if (string.IsNullOrEmpty(values[order_number].Replace($@"""", "")) || values[order_number].Replace($@"""", "") == "record(s) downloaded")
                    {
                        continue;
                    }
                    orderItem.BoughtFrom   = "Ebay";
                    orderItem.DateSold     = ExtractDate(values);
                    orderItem.SoldFor      = PaymentDetail.ConvertDollarstoPennies(values[sold_for].Replace($@"""", "")) + PaymentDetail.ConvertDollarstoPennies(values[shipping].Replace($@"""", "")) + PaymentDetail.ConvertDollarstoPennies(values[tax].Replace($@"""", ""));
                    orderItem.ItemName     = values[title_name].Replace($@"""", "");
                    orderItem.OrderID      = values[order_number].Replace($@"""", "");
                    orderItem.QuantitySold = int.Parse(values[qauntity].Replace($@"""", ""));
                    orderItem.SalesTax     = PaymentDetail.ConvertDollarstoPennies(values[tax].Replace($@"""", ""));
                    orderItem.SKU          = values[item_number].Replace($@"""", "");
                    orderItem.TransID      = values[trans_id].Replace($@"""", "");

                    orderItems.Add(orderItem);
                }
            }
            return(orderItems);
        }
Пример #3
0
        internal List <Transaction> GetTransactions(DateTime lastHitDate)
        {
            var transactions       = ebayAPI.GetSellerTransactions(lastHitDate);
            var profitTransactions = new List <Transaction>();

            foreach (var transaction in transactions)
            {
                if (transaction.Item == null)
                {
                    continue;
                }

                var item = new Item();
                item.EbaySKU  = transaction.Item?.ItemID;
                item.ItemCost = PaymentDetail.ConvertDollarstoPennies(transaction.Item?.SellingStatus.CurrentPrice.value);
                item.Name     = transaction.Item?.Title;

                var order = new OrderItem();
                order.BoughtFrom   = "Ebay";
                order.DateSold     = transaction.CreatedDate.ToString("MM/dd/yyyy");
                order.ItemName     = transaction.Item?.Title;
                order.OrderID      = transaction.ExtendedOrderID;
                order.QuantitySold = transaction.QuantityPurchased;
                order.SalesTax     = PaymentDetail.ConvertDollarstoPennies(transaction.Taxes.TotalTaxAmount.value);
                var extTransaction = PaymentDetail.ConvertDollarstoPennies(transaction.ExternalTransaction?.FeeOrCreditAmount.value);
                if (extTransaction <= 0)
                {
                    extTransaction = PaymentDetail.ConvertDollarstoPennies(transaction.MonetaryDetails?.Payments[0].FeeOrCreditAmount.value);
                }

                order.SellingFees = PaymentDetail.ConvertDollarstoPennies(transaction.FinalValueFee.value) + extTransaction;
                order.SoldFor     = PaymentDetail.ConvertDollarstoPennies(transaction.AmountPaid.value);
                order.SKU         = string.IsNullOrWhiteSpace(item.SKU) ? item.EbaySKU : item.SKU;
                var t = new Transaction
                {
                    Item  = item,
                    Order = order,
                };

                profitTransactions.Add(t);
            }
            return(profitTransactions);
        }
Пример #4
0
        internal List <OrderItem> GetTransactions(List <OrderItem> orderItems)
        {
            var orderIDs = new List <string>();

            foreach (var orderitem in orderItems)
            {
                if (string.IsNullOrEmpty(orderitem.SKU))
                {
                    continue;
                }
                var orderID = $"{orderitem.SKU}-{(string.IsNullOrEmpty(orderitem.TransID)?"0":orderitem.TransID)}";
                orderIDs.Add(orderID);
            }
            var orders         = ebayAPI.GetOrders(orderIDs);
            var tempOrderItems = new List <OrderItem>();

            foreach (var order in orders)
            {
                var o = orderItems.Find(x => x.SKU == order.Item.ItemID);
                o.SellingFees = -PaymentDetail.ConvertDollarstoPennies(order.FinalValueFee.value);
                tempOrderItems.Add(o);
            }
            return(tempOrderItems);
        }
Пример #5
0
        public int Update(string Table, int row, string column, string value)
        {
            switch (column)
            {
            case "SKU":
                column = "sku";
                break;

            case "Order ID":
                column = "order_id";
                break;

            case "Selling Fees":
                column = "selling_fee";
                value  = PaymentDetail.ConvertDollarstoPennies(value).ToString();
                break;

            case "Item Name":
                column = "item_name";
                break;

            case "Quantity Bought":
                column = "quantity_bought";
                break;

            case "Ebay SKU":
                column = "ebay_sku";
                break;

            case "Item Cost":
                column = "item_cost";
                value  = PaymentDetail.ConvertDollarstoPennies(value).ToString();
                break;

            case "SalesTax":
                column = "sale_tax";
                value  = PaymentDetail.ConvertDollarstoPennies(value).ToString();
                break;

            case "Quantity Sold":
                column = "quantity_sold";
                break;

            case "Date Sold":
                column = "date_sold";
                break;

            case "Bought From":
                column = "bought_from";
                break;

            case "Sold For":
                column = "sold_for";
                value  = PaymentDetail.ConvertDollarstoPennies(value).ToString();
                break;

            case "Shipping Cost":
                column = "shipping_cost";
                value  = PaymentDetail.ConvertDollarstoPennies(value).ToString();
                break;

            case "Assigned":
            case "assigned":
                value = value.ToLower() == "true" ? "1" : "0";
                break;

            default:
                break;
            }
            var result = Database.Update(Table, row, new List <string> {
                column.ToLower()
            }, new List <object> {
                value
            });

            if (result?.Result.ToString() != "SUCCESS")
            {
                return(-1);
            }
            else
            {
                try
                {
                    var num = int.Parse(result.Message.Split(':')[1]);
                    return(num);
                }
                catch
                {
                    return(-1);
                }
            }
        }