コード例 #1
0
        public JsonResult GetById(string transactionid)
        {
            TransactionDetail detail = TransactionEngine.GetDetail(transactionid);

            Logger.LogDummyData();
            return(Json(detail));
        }
コード例 #2
0
        private void OnPost(object sender, RoutedEventArgs e)
        {
            decimal profit         = 0;
            decimal totalPrice     = 0;
            decimal totalBreakeven = 0;

            foreach (ActiveInventoryObject aio in Activity)
            {
                profit         += aio.GetTotalPrice(SelectedPricingModel) - (aio.WholeSalePrice + aio.AdditionalOverhead);
                totalPrice     += aio.GetTotalPrice(SelectedPricingModel);
                totalBreakeven += (aio.WholeSalePrice + aio.AdditionalOverhead);
            }


            if (profit <= 0)
            {
                if (MessageBox.Show(string.Format("WARNING!\r\n\r\nSale price is less than break-even cost.\r\n\r\nSale Price Total:{0}   Break-even cost: {1}\r\n\r\nAre you sure?", totalPrice.ToString("C"), totalBreakeven.ToString("C")), "Completing Sale", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                {
                    MessageBox.Show("Canceled.", "Sale Canceled", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
            }

            foreach (ActiveInventoryObject aio in Activity)
            {
                aio.TotalDollarChanged -= newItem_TotalDollarChanged;
                List <ActiveInventoryObject> aioList = Cache.Current.Inventory.GetByUPCorSKU(aio.UPC);
                if (aioList.Count > 1)
                {
                    aioList.Clear();
                    ActiveInventoryObject newio = Cache.Current.Inventory.GetByProductID(aio.ProductID);
                    if (newio != null)
                    {
                        aioList.Add(newio);
                    }
                }
                if (aioList.Count == 1)
                {
                    aioList[0].Quantity -= aio.Quantity;
                }
            }



            FinancialObject fin = TransactionEngine.Post(Activity, this.ReceiptID, this.CashTendered - this.CashDue,
                                                         this.CreditTendered, this.CheckTendered, SelectedPricingModel, this.TotalTax, profit, USState, TotalTaxTotal, this.DiscountAmount);



            TotalCashSales    += fin.TotalCash;
            TotalCreditSales  += fin.TotalCredit;
            TotalCheckSales   += fin.TotalCheck;
            TotalProfit       += profit;
            TotalTaxesAssesed += TotalTax;

            Configuration.Current.ReceiptIDNumber++;
            ReceiptID = Configuration.BuildReceiptID();
            Configuration.Current.Save();
            ResetPage();
        }
コード例 #3
0
        public JsonResult Query(string queryString)
        {
            List <Transaction> transactions = TransactionEngine.GetTransactions(queryString).ToList();

            transactions.RemoveAll(transaction => transaction == null);
            Logger.LogDummyData();
            return(Json(transactions));
        }
コード例 #4
0
        /// <summary>
        /// Returns a list of the names of all Transaction Types in the database.
        /// </summary>
        /// <returns>List of Transaction Type names</returns>
        public IEnumerable <string> GetTypes()
        {
            List <string> transactionTypes = TransactionEngine.GetTransactionTypeList().ToList();

            transactionTypes.RemoveAll(transactionType => transactionType == null);
            Logger.LogDummyData();
            return(transactionTypes);
        }
コード例 #5
0
        public IEnumerable <WeatherForecast> Get()
        {
            var getFee     = AppSettingManager.Fetch("fees");
            var getCharges = TransactionEngine.GetCharges(49599);
            var rng        = new Random();

            return(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
                   .ToArray());
        }
コード例 #6
0
        private void OnStageForExport(object sender, RoutedEventArgs e)
        {
            SaveFileDialog diag = new SaveFileDialog();

            diag.Title      = "Stage Received Inventory Reporting: Select report file";
            diag.DefaultExt = "pdf";
            diag.Filter     = "PDF Files|*.pdf|All Files|*.*";
            if (diag.ShowDialog() == true)
            {
                TransactionEngine.StageReceiving(diag.FileName);
                System.Diagnostics.Process.Start(diag.FileName);

                Cache.Current.Save();
            }
        }
コード例 #7
0
        /// <summary>
        /// Given the raw <see cref="HubPortal.Api.Models.TransactionLookupData"/> posted by the
        /// client, will return a list of transactions that satisfy those criteria.
        /// </summary>
        /// <param name="searchData">Raw data from client's post request</param>
        /// <returns>List of transactions</returns>
        public static IEnumerable <Transaction> GetTransactions(TransactionLookupData searchData)
        {
            if (searchData.SearchType == "" || searchData.SearchType == null)
            {
                throw new Exception("Search Type not defined");
            }

            IEnumerable <Transaction> transactions = new List <Transaction>();
            IQuery query = QueryBuilder.GetQuery(Symbols.FINDALL, Symbols.TRANSACTION);

            ParseSearchType(query, searchData);
            ParseTransactionDetails(query, searchData);
            ParseLookup(query, searchData);

            return(TransactionEngine.GetTransactions(query));
        }
コード例 #8
0
        private void OnContinue(object sender, RoutedEventArgs e)
        {
            SaveFileDialog diag = new SaveFileDialog();

            diag.Title      = "Close Day Reporting: Select report file";
            diag.DefaultExt = "pdf";
            diag.Filter     = "PDF Files|*.pdf|All Files|*.*";
            if (diag.ShowDialog() == true)
            {
                TransactionEngine.CloseDay(StartingCash, TotalAmount, diag.FileName);
                System.Diagnostics.Process.Start(diag.FileName);

                Cache.Current.Save();
                this.Close();
            }
        }
コード例 #9
0
        private void OnPost(object sender, RoutedEventArgs e)
        {
            ReceiptID = Configuration.BuildReceiptID();


            foreach (ActiveInventoryObject aio in Activity)
            {
                aio.TotalDollarChanged -= newItem_TotalDollarChanged;
            }

            foreach (ActiveInventoryObject aio in Activity)
            {
                aio.TotalDollarChanged -= newItem_TotalDollarChanged;
                List <ActiveInventoryObject> aioList = Cache.Current.Inventory.GetByUPCorSKU(aio.UPC);
                if (aioList.Count > 1)
                {
                    aioList.Clear();
                    ActiveInventoryObject newio = Cache.Current.Inventory.GetByProductID(aio.ProductID);
                    if (newio != null)
                    {
                        aioList.Add(newio);
                    }
                }
                if (aioList.Count == 1)
                {
                    aioList[0].Quantity += aio.Quantity;
                }
            }

            TransactionEngine.ReceiveInventory(Activity, ReceiptID);


            Configuration.Current.ReceiptIDNumber++;
            ReceiptID = Configuration.BuildReceiptID();
            Configuration.Current.Save();
            ResetPage();

            Activity.Clear();
            SetStartFocus();
        }
        public IActionResult SurchargeTransactionDetails(decimal Amount)
        {
            var Transaction = TransactionEngine.SurchargeDetails(Amount);

            return((Transaction.status) ? Ok(Transaction) : Ok(Transaction));
        }
        public IActionResult GetCHarges(decimal Amount)
        {
            var Transaction = TransactionEngine.GetCharges(Amount);

            return((Transaction.status) ? Ok(Transaction) : Ok(Transaction));
        }
コード例 #12
0
        private void Initialize(IStartupOptions startOptions)
        {
            LogInformation("Initializing core..");

            if (File.Exists(startOptions.ConfigFile))
            {
                LogInformation("Loading configuration.");
                //The IOManager is not initialized yet, so read the data directly.
                Settings = JsonConvert.DeserializeObject <MetaServerSettings>(File.ReadAllText(startOptions.ConfigFile));
            }
            else
            {
                LogInformation("Initializing new configuration.");
                Settings = new MetaServerSettings(startOptions.RootPath)
                {
                    //TODO: Add additional startup options.
                };
            }

            #region Create Directory Structure.

            if (Directory.Exists(Settings.RootPath) == false)
            {
                Directory.CreateDirectory(Settings.RootPath);
            }

            if (Directory.Exists(Settings.TransactionPath) == false)
            {
                Directory.CreateDirectory(Settings.TransactionPath);
            }

            #endregion

            //Settings.LoginFile

            if (File.Exists(Settings.ConfigFile) == false)
            {
                //The IOManager is not initialized yet, so write the data directly.
                File.WriteAllText(Settings.ConfigFile, JsonConvert.SerializeObject(Settings));
            }

            if (File.Exists(Settings.LoginFile) == false)
            {
                var loginCatalog = new MetaLoginCollection();

#if DEBUG
                var defaultLogin = new MetaLogin("root");
                defaultLogin.SetPassword("p@ssWord!");
                loginCatalog.Add(defaultLogin);
#endif

                //The IOManager is not initialized yet, so write the data directly.
                File.WriteAllText(Settings.LoginFile, JsonConvert.SerializeObject(loginCatalog));
            }

            LogInformation("Initializing security engine.");
            Security = new SecurityEngine(this);

            LogInformation("Initializing IO engine.");
            IO = new IOEngine(this);

            LogInformation("Initializing schema engine.");
            Schema = new SchemaEngine(this);

            LogInformation("Initializing session engine.");
            Session = new SessionEngine(this);

            LogInformation("Initializing latch engine.");
            Latch = new LatchEngine(this);

            LogInformation("Initializing transaction engine.");
            Transaction = new TransactionEngine(this);

            LogInformation("Initializing document engine.");
            Document = new DocumentEngine(this);

            LogInformation("Initializing query engine.");
            Query = new QueryEngine(this);

            LogInformation("Starting transaction recovery.");
            Transaction.Recover();
            LogInformation("Transaction recovery complete.");
        }