示例#1
0
 /// <summary>
 /// Add Order
 /// </summary>
 /// <param name="order"></param>
 /// <param name="index">Optional, insert index</param>
 public static void AddItem(Item item, int index = -1)
 {
     if (index < 0)
     {
         MasterItemList.Add(item);
         ItemList.Add(item);
     }
     else
     {
         MasterItemList.Add(item); //doesnt care about the index
         ItemList.Insert(index, item);
     }
 }
示例#2
0
        //=========================== LOAD FILES ==============================

        /// <summary>
        /// Load all local information from configuration file
        /// </summary>
        public static string LoadLocalInformation()
        {
            ResetParameters();

            try
            {
                string[] lines = GetFileContent(ConfigFileName)
                                 .Split(new [] { Environment.NewLine }, StringSplitOptions.None);

                List <string> tempLocation   = new List <string>();
                List <string> tempPayment    = new List <string>();
                List <string> tempCategories = new List <string>();

                foreach (string line in lines)
                {
                    #region Load Local Settings

                    if (line.Contains("[PE_SE]"))
                    {
                        SetSettingsValue("SYNC_EMAIL", Parse_Line_Information(line, "SYNC_EMAIL"));
                        SetSettingsValue("EMAIL_VALIDATED", Parse_Line_Information(line, "EMAIL_VALIDATED"));
                    }

                    #endregion

                    #region Load Locations

                    if (line.Contains("[LO_NA_]="))
                    {
                        tempLocation.Add(Parse_Line_Information(line, "LO_NA_"));
                    }

                    #endregion

                    #region Load Payments

                    if (line.Contains("[PA_NA_]="))
                    {
                        tempPayment.Add(Parse_Line_Information(line, "PA_NA_"));
                    }

                    #endregion

                    #region Load Categories

                    if (line.Contains("[CA_NA_]="))
                    {
                        tempCategories.Add(Parse_Line_Information(line, "CA_NA_"));
                    }

                    #endregion

                    #region Load Items

                    if (line.Contains("[LT_NA_]="))
                    {
                        MasterItemList.Add(new Item(
                                               Parse_Line_Information(line, "LT_NA_"),
                                               Convert.ToDouble(Parse_Line_Information(line, "LT_PR_")),
                                               Convert.ToInt32(Parse_Line_Information(line, "LT_QU_")),
                                               Parse_Line_Information(line, "LT_CA_"),
                                               Parse_Line_Information(line, "LT_ID_")
                                               ));
                    }

                    #endregion

                    #region Load Orders

                    if (line.Contains("[LR_LO_]="))
                    {
                        OrderList.Add(new Order(
                                          Parse_Line_Information(line, "LR_LO_"),
                                          //Convert.ToDouble(Parse_Line_Information(line, "PRETAX_PRICE")),
                                          Parse_Line_Information(line, "LR_PA_"),
                                          Convert.ToDateTime(Parse_Line_Information(line, "LR_DA_")),
                                          Parse_Line_Information(line, "LR_SY_") == "1",
                                          Parse_Line_Information(line, "LR_ID_")
                                          ));
                    }

                    #endregion

                    #region Load ShopItem List

                    if (line.Contains("[SI_NA_]="))
                    {
                        ShoppingList.Add(new ShopItem(Parse_Line_Information(line, "SI_NA_"), Parse_Line_Information(line, "SI_CA_")
                                                      ));
                    }

                    #endregion

                    #region Load Global Items
                    if (line.Contains("||[IT_LO]="))
                    {
                        Item New_Item = new Item();
                        New_Item.Name           = Parse_Line_Information(line, "IT_DE_");
                        New_Item.Status         = Parse_Line_Information(line, "IT_ST_") == "" ? "0" : Parse_Line_Information(line, "IT_ST_");
                        New_Item.RefundAlert    = Parse_Line_Information(line, "IT_RE_") == "1" ? true : false;
                        New_Item.consumedStatus = Convert.ToInt32(Parse_Line_Information(line, "IT_CO_", "||", "2"));
                        New_Item.Location       = Parse_Line_Information(line, "IT_LO");
                        New_Item.Payment_Type   = Parse_Line_Information(line, "IT_PA_");
                        New_Item.Category       = Parse_Line_Information(line, "IT_CA_");
                        New_Item.Discount_Amt   = Convert.ToDouble(Parse_Line_Information(line, "IT_DI_", "||", "0"));
                        New_Item.Price          = Convert.ToDouble(Parse_Line_Information(line, "IT_PR_"));
                        New_Item.Quantity       = Convert.ToInt32(Parse_Line_Information(line, "IT_QU_"));
                        New_Item.Date           = Convert.ToDateTime(Parse_Line_Information(line, "IT_DA_"));
                        New_Item.Refund_Date    = Parse_Line_Information(line, "IT_RD_").Length > 0 ? Convert.ToDateTime(Parse_Line_Information(line, "IT_RD_")) : DateTime.Now;
                        New_Item.Memo           = Parse_Line_Information(line, "IT_ME_");
                        New_Item.OrderID        = Parse_Line_Information(line, "IT_ID_");

                        GlobalItemList.Add(New_Item);
                    }
                    #endregion

                    #region Load Global Orders
                    // Load orders
                    else if (line.Contains("||[OR_QU_]="))
                    {
                        Order New_Order = new Order();
                        New_Order.Location            = Parse_Line_Information(line, "OR_LO_");
                        New_Order.OrderMemo           = Parse_Line_Information(line, "OR_ME_");
                        New_Order.Payment             = Parse_Line_Information(line, "OR_PA_");
                        New_Order.Tax_Overridden      = (Parse_Line_Information(line, "OR_TO_") == "1");
                        New_Order.Order_Total_Pre_Tax = Convert.ToDouble(Parse_Line_Information(line, "OR_PP_"));
                        New_Order.GC_Amount           = Convert.ToDouble(Parse_Line_Information(line, "OR_GC_", "||", "0"));
                        New_Order.Order_Taxes         = Convert.ToDouble(Parse_Line_Information(line, "OR_TA_"));
                        New_Order.Order_Discount_Amt  = Convert.ToDouble(Parse_Line_Information(line, "OR_DI_", "||", "0"));
                        New_Order.Order_Quantity      = Convert.ToInt32(Parse_Line_Information(line, "OR_QU_"));
                        New_Order.Date    = Convert.ToDateTime(Parse_Line_Information(line, "OR_DA_"));
                        New_Order.OrderID = Parse_Line_Information(line, "OR_ID_");

                        GlobalOrderList.Add(New_Order);
                    }
                    #endregion
                }

                // Load all synced orders
                LoadSyncFile();

                // Sort locations
                LocationList = new ObservableCollection <string>(tempLocation.OrderBy(x => x));
                PaymentList  = new ObservableCollection <string>(tempPayment.OrderBy(x => x));
                CategoryList = new ObservableCollection <string>(tempCategories.OrderBy(x => x));

                // Remove synced orders from current orders
                return(RemoveSyncedOrders());
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error with loading file: " + ex);
            }
            return("");
        }