public int GetStartingTotalCash() { List <TotalCash> totalCashes = new List <TotalCash>(); List <TotalCash> orderedTotalCashes = TotalCashes.OrderBy(t => t.Date).ToList(); for (int i = 0; i < orderedTotalCashes.Count; i++) { if ((orderedTotalCashes[i].Date <= EndDate && orderedTotalCashes[i].Date >= StartDate) || (orderedTotalCashes[i].Date < StartDate && i + 1 == orderedTotalCashes.Count) || (orderedTotalCashes[i].Date < StartDate && i + 1 < orderedTotalCashes.Count && orderedTotalCashes[i + 1].Date > StartDate)) { totalCashes.Add(orderedTotalCashes[i]); } } if (totalCashes.Count == 0) { return(0); } TotalCash firstTotalCash = totalCashes.First(); if (firstTotalCash.Date >= StartDate) { return(firstTotalCash.Amount); } // get transactions until startdate List <Transaction> transactions = AllTransactions.Where(t => t.CreateDate <StartDate && t.CreateDate> firstTotalCash.Date).ToList(); return(firstTotalCash.Amount - transactions.Select(t => t.Amount).Sum()); }
private List <string> SplitExpensesByType(string[] input, int currentIndex, User userPaid, decimal paidAmount, List <User> borrowerList, int borrowers, ExpenseEnum shareType) { if (shareType is ExpenseEnum.EQUAL) { decimal amountForEach = decimal.Round(paidAmount / borrowers, 2); //Add Transactions userPaid.transactions = new List <Transaction>(); Random rand = new Random(); User randomUser = borrowerList[rand.Next(0, borrowers)]; borrowerList.Remove(randomUser); AllTransactions txnList = new AllTransactions(); Transaction txn; foreach (var borrower in borrowerList) { if (userPaid.userId != borrower.userId) { txn = new Transaction(userPaid.userId, borrower.userId, amountForEach); txnList.txnList.Add(txn); } } decimal leftAmount = paidAmount - amountForEach * borrowers; txn = new Transaction(userPaid.userId, randomUser.userId, leftAmount); txnList.txnList.Add(txn); } else if (shareType is ExpenseEnum.EXACT) { } }
private void Login() { try { UserModel result = _api.LoginUser(User.Phone); if (result == null) { throw new Exception("User Not Found"); } else if (User.Password == result.Password)//SecurePasswordHasherHelper.Verify(User.Password, result.Password)) { //set session data //go to dashboard _ = new AllBankAccounts(); _ = new AllTransactions(); result = setAccounts.SetBankAccounts(result); _ = new CreateData(result); Mediator.Notify(ApplicationPage.Dashboard.ToString(), ""); } else { //login failed MessageBox.Show("login failed"); } } catch (Exception) { MessageBox.Show("User Not Found"); } }
public static void dataSeed() { Item Sugar = new Item("sugar", "White Sugar", "A White Sugar", 10, 10); Item Flour = new Item("flour", "White Flour", "A White Flour", 20, 5); Warehouse.AddItem(Sugar); Warehouse.AddItem(Flour); OnlineCustomer Jason = new OnlineCustomer("Jason", "Hawthorn East", "0477123456"); Person Rifky = new OfflineCustomer("Rifky", "Hawthorn East", "0477123456"); Customers.AddCustomer(Jason); Customers.AddCustomer(Rifky); Payment cash = new Cash(10000, 10000); ShoppingCart cart = new ShoppingCart(); cart.AddToCart("sugar"); cart.AddToCart("flour"); Jason.ShoppingCart = cart; Transaction newTransaction = new Transaction("ABC123", DateTime.Now, cash, Jason); AllTransactions.AddTransactions(newTransaction); foreach (Transaction transaction in AllTransactions.GetTransactions) { Console.WriteLine(transaction); } }
internal virtual void Filter(GlobalFilterCriteria criteria) { ThrowIfDisposed(); if (criteria == null) { this.changeHash = Guid.NewGuid(); Transactions = AllTransactions.ToList(); DurationInMonths = this.fullDuration; Filtered = false; return; } if (criteria.BeginDate > criteria.EndDate) { throw new ArgumentException("End date must be after the begin date."); } this.currentFilter = criteria; this.changeHash = Guid.NewGuid(); if (criteria.Cleared) { Transactions = AllTransactions.ToList(); DurationInMonths = this.fullDuration; Filtered = false; return; } IEnumerable <Transaction> query = BaseFilterQuery(criteria); Transactions = query.ToList(); DurationInMonths = CalculateDuration(criteria, Transactions); this.duplicates = null; Filtered = true; }
public async Task Remove(object param) { Transaction = TransactionsModel.Transaction(param as TransactionsModel); await _api.DeleteTransaction(Transaction); _ = new AllBankAccounts(); _ = new AllTransactions(); TransactionsList = _api.GetTransactionsById(DataStore.AccountNo); }
private void UnsubscribeToTransactionChangedEvents() { if (AllTransactions == null || AllTransactions.None()) { return; } Parallel.ForEach(AllTransactions, transaction => { transaction.PropertyChanged -= OnTransactionPropertyChanged; }); }
internal virtual void SplitTransaction( [NotNull] Transaction originalTransaction, decimal splinterAmount1, decimal splinterAmount2, [NotNull] BudgetBucket splinterBucket1, [NotNull] BudgetBucket splinterBucket2) { ThrowIfDisposed(); if (originalTransaction == null) { throw new ArgumentNullException(nameof(originalTransaction)); } if (splinterBucket1 == null) { throw new ArgumentNullException(nameof(splinterBucket1)); } if (splinterBucket2 == null) { throw new ArgumentNullException(nameof(splinterBucket2)); } var splinterTransaction1 = originalTransaction.Clone(); var splinterTransaction2 = originalTransaction.Clone(); splinterTransaction1.Amount = splinterAmount1; splinterTransaction2.Amount = splinterAmount2; splinterTransaction1.BudgetBucket = splinterBucket1; splinterTransaction2.BudgetBucket = splinterBucket2; if (splinterAmount1 + splinterAmount2 != originalTransaction.Amount) { throw new ArgumentException("The two new amounts do not add up to the original transaction value."); } RemoveTransaction(originalTransaction); this.changeHash = Guid.NewGuid(); if (AllTransactions == null) { AllTransactions = new List <Transaction>(); } List <Transaction> mergedTransactions = AllTransactions.ToList().Merge(new[] { splinterTransaction1, splinterTransaction2 }).ToList(); AllTransactions = mergedTransactions; splinterTransaction1.PropertyChanged += OnTransactionPropertyChanged; splinterTransaction2.PropertyChanged += OnTransactionPropertyChanged; this.duplicates = null; UpdateDuration(); Filter(this.currentFilter); }
public int GetCurrentTotalCash() { if (TotalCashes.Count == 0) { return(0); } TotalCash lastTotalCash = TotalCashes.Last(); List <Transaction> transactions = AllTransactions.Where(t => t.CreateDate > lastTotalCash.Date).ToList(); return(lastTotalCash.Amount - transactions.Select(t => t.Amount).Sum()); }
private void PerformSearch(string pattern) { DisplayTransactions = ((Transaction[])AllTransactions.ToArray().Clone()).ToList(); DisplayTransactions = DisplayTransactions.Where(I => I.Id.ToString().ToLowerInvariant().Contains(pattern.ToLowerInvariant()) || I.AssignedCard.ToLowerInvariant().Contains(pattern.ToLowerInvariant()) || I.Deposit.ToString().ToLowerInvariant().Contains(pattern.ToLowerInvariant()) || I.Withdrawal.ToString().ToLowerInvariant().Contains(pattern.ToLowerInvariant()) || I.TransactionDate.ToString().ToLowerInvariant().Contains(pattern.ToLowerInvariant()) ).ToList(); LoadTransactionsListToDataGridView(); }
private async Task SetBankAccount(UserModel user) { BankAccountModel details = new BankAccountModel() { Balance = 0.0M, CustomerRef = user.Id }; await API.SetBankAccount(details); _ = new AllBankAccounts(); _ = new AllTransactions(); }
public void Initialize(FinanceDb db) { Search.Initialize(db); var transactions = db.Transactions .Include(x => x.Category) .Include(x => x.Card.Person); AllTransactions = Sort.Sort(Search.Filter(transactions)); Total = AllTransactions.Count(); Transactions = AllTransactions.Take(NextLimit).AsEnumerable(); CurrentLimit = NextLimit; NextLimit = DefaultLimit; }
public List <KeyValuePair <Category, int> > GetAmountsByCategoryName() { List <KeyValuePair <Category, int> > amountByName = new List <KeyValuePair <Category, int> >(); ILookup <Category, Transaction> transactionsByCategoryId = AllTransactions.Where(t => t.CreateDate >= StartDate && t.CreateDate <= EndDate && t.Amount > 0).ToLookup(t => Categories.Find(n => n.Id == t.CategoryId.GetValueOrDefault())); if (transactionsByCategoryId.Count == 0) { return(amountByName); } foreach (var item in transactionsByCategoryId) { KeyValuePair <Category, int> pair = new KeyValuePair <Category, int>(item.Key, item.ToList().Select(t => t.Amount).Sum()); amountByName.Add(pair); } return(amountByName.OrderByDescending(t => t.Value).ToList()); }
internal void ReassignFixedProjectTransactions([NotNull] FixedBudgetProjectBucket bucket, [NotNull] BudgetBucket reassignmentBucket) { ThrowIfDisposed(); if (bucket == null) { throw new ArgumentNullException(nameof(bucket)); } if (reassignmentBucket == null) { throw new ArgumentNullException(nameof(reassignmentBucket)); } foreach (var transaction in AllTransactions.Where(t => t.BudgetBucket == bucket)) { transaction.BudgetBucket = reassignmentBucket; } }
internal virtual StatementModel Merge([NotNull] StatementModel additionalModel) { ThrowIfDisposed(); if (additionalModel == null) { throw new ArgumentNullException(nameof(additionalModel)); } var combinedModel = new StatementModel(this.logger) { LastImport = additionalModel.LastImport, StorageKey = StorageKey }; List <Transaction> mergedTransactions = AllTransactions.ToList().Merge(additionalModel.AllTransactions).ToList(); combinedModel.LoadTransactions(mergedTransactions); return(combinedModel); }
public void CreateNewTrans() { foreach (Item item in cart) { Warehouse.ReduceItemStock(item.Id, item.Qty); } string custName = comboBoxCust.Text; string transId = comboBoxCust.Text; transId = transId.Substring(0, 3); count++; transId = transId + count.ToString("000"); string paymentMethod = comboBoxPayment.Text; UCFinalize.Instance.TextBoxResult.Text += "Hi " + custName + Environment.NewLine; UCFinalize.Instance.TextBoxResult.Text += "Your Trans id is " + transId + Environment.NewLine; UCFinalize.Instance.TextBoxResult.Text += "Listed Item that you buy : " + Environment.NewLine; foreach (Item item in cart) { UCFinalize.Instance.TextBoxResult.Text += item.Name + " " + item.Qty + " pcs A$ " + item.Price + Environment.NewLine; } UCFinalize.Instance.TextBoxResult.Text += "Total Price " + GetPaymentAmount(); Payment payment; if (paymentMethod == "card") { payment = new Card(GetPaymentAmount(), "", DateTime.Now); } else { payment = new Cash(GetPaymentAmount(), 100); } AllTransactions.AddTransactions(new Transaction(transId, DateTime.Now, payment, Customers.GetPerson(custName))); }
private IEnumerable <Transaction> BaseFilterQuery(GlobalFilterCriteria criteria) { if (criteria.Cleared) { return(AllTransactions.ToList()); } IEnumerable <Transaction> query = AllTransactions; if (criteria.BeginDate != null) { query = AllTransactions.Where(t => t.Date >= criteria.BeginDate.Value); } if (criteria.EndDate != null) { query = query.Where(t => t.Date <= criteria.EndDate.Value); } return(query); }
private async void GetBookingTransactions() { try { HttpRequestWrapper wrapper = new HttpRequestWrapper(); List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("company_code", Constant.CompanyID)); parameters.Add(new KeyValuePair <string, string>("user_id", AppData.UserId)); var jsonstr = await wrapper.GetResponseAsync(Constant.APIs[(int)Constant.APIName.AllTransactionsAPI], parameters); if (jsonstr.ToString() == "NoInternet") { //NewsDetailslbl.IsVisible = false; } else { try { Items2 = JsonConvert.DeserializeObject <AllTransactions>(jsonstr); } catch (Exception ex) { } if (Items2.data.booking_data.Count() == 0) { IsNoDataVisible = true; } else { BookingsList.ItemsSource = Items2.data.booking_data; IsNoDataVisible = false; } } } catch (Exception ex) { } }
protected override async void OnAppearing() { var CompanyId = Application.Current.Properties["CompanyId"]; using (HttpClient client = new HttpClient()) { string Url = "http://203.151.166.97/api/Users/GetUserProfile?UserId=" + Application.Current.Properties["UserId"].ToString(); client.BaseAddress = new Uri(Url); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "oLQKZ-tbA58nvbw7PuZhSsy3sr_H28YB3U3XGbpEc5pGIpMrB1nKNjpS_mRhDiFt2QOBZw3IntJ3dmrozZKsw6hd2VuLvoS8-0HxMCVsMUbZ6QZD782Ig1rfFFWPJ13qDq-cMoUgE2t-PdFEp_85aqa8crtVD6aRwntMPjDOgOriFBbzCYjeXyQ3JECl4pOZGd2KYhpCM7n4hXjfCA0t2YeQyvbuId1-e-qhltjEzCkRk7uffgtbwC2KAImsw7jrBYFfxeu1DCRRYdi2AsSZVyBHk0pAqcekzv5jlxLaK2Z-5hFVN0EzSA86Z2MkAq_vXPnJMq0ZrlGfZG6l-hJYb7NjGZCKD44euOf4l-dGQqi40wd8oIhacT1WIrr2RoSAxQn3t1TLDU2TNbgd_pW89JAHd9fmF9k-aZt9tCJuFQs-sW7eJQ1spYqQWHEbKYFbf2Aih5ZBDrIbLeh4hRRFOd_zYZgQKqIZ1tpZ_82UwYUG8FyPn9ZexVzr4t4At4cP"); HttpResponseMessage response = await client.GetAsync(Url); if (response.IsSuccessStatusCode) { var ResponseData = await response.Content.ReadAsStringAsync(); var Result = JsonConvert.DeserializeObject <PersonInfo>(ResponseData); Username.Text = Result.Nickname == string.Empty ? Application.Current.Properties["Username"].ToString() : Result.Nickname; ImgUser.Source = Result.Userimage == null?ImageSource.FromResource("userpic.png") : ImageSource.FromStream(() => new MemoryStream(Result.Userimage)); } //Transaction HttpResponseMessage CountTransaction = await client.GetAsync("http://203.151.166.97/api/Products/CountProduct?CompanyId=" + CompanyId); var ReadTransaction = await CountTransaction.Content.ReadAsStringAsync(); var TransactionResults = JsonConvert.DeserializeObject <CountTransactions>(ReadTransaction); Total.Text = TransactionResults.All; CountIn.Text = TransactionResults.In; CountOut.Text = TransactionResults.Out; } using (HttpClient client = new HttpClient()) { string Url = "http://203.151.166.97/api/Products/AllTrasactionsCurrentDate?CompanyId=1"; client.BaseAddress = new Uri(Url); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "oLQKZ-tbA58nvbw7PuZhSsy3sr_H28YB3U3XGbpEc5pGIpMrB1nKNjpS_mRhDiFt2QOBZw3IntJ3dmrozZKsw6hd2VuLvoS8-0HxMCVsMUbZ6QZD782Ig1rfFFWPJ13qDq-cMoUgE2t-PdFEp_85aqa8crtVD6aRwntMPjDOgOriFBbzCYjeXyQ3JECl4pOZGd2KYhpCM7n4hXjfCA0t2YeQyvbuId1-e-qhltjEzCkRk7uffgtbwC2KAImsw7jrBYFfxeu1DCRRYdi2AsSZVyBHk0pAqcekzv5jlxLaK2Z-5hFVN0EzSA86Z2MkAq_vXPnJMq0ZrlGfZG6l-hJYb7NjGZCKD44euOf4l-dGQqi40wd8oIhacT1WIrr2RoSAxQn3t1TLDU2TNbgd_pW89JAHd9fmF9k-aZt9tCJuFQs-sW7eJQ1spYqQWHEbKYFbf2Aih5ZBDrIbLeh4hRRFOd_zYZgQKqIZ1tpZ_82UwYUG8FyPn9ZexVzr4t4At4cP"); HttpResponseMessage responsedatain = await client.GetAsync(Url); if (responsedatain.IsSuccessStatusCode) { var ReponseData = await responsedatain.Content.ReadAsStringAsync(); var Result = JsonConvert.DeserializeObject <List <AllTransactions> >(ReponseData); var ViewModels = new List <AllTransactions>(); foreach (var Item in Result) { var ViewModel = new AllTransactions(); ViewModel.TransactionType = (Item.TransactionType == "IN" ? "plus-circle IN" : "minus-circle Out"); ViewModel.Ref = Item.Ref; ViewModel.ProductName = Item.ProductName; ViewModel.ProductCode = Item.ProductCode; ViewModel.Locations = Item.Locations; ViewModel.Username = Item.Username; ViewModel.Amount = Item.Amount; ViewModel.CreateDate = Item.CreateDate; ViewModel.Description = Item.Description; ViewModels.Add(ViewModel); } ListTranToday.ItemsSource = ViewModels; } } //using (HttpClient client = new HttpClient()) //{ // string Url = "http://203.151.166.97api/Products/TransactionOutProduct?CompanyId=" + CompanyId; // client.BaseAddress = new Uri(Url); // client.DefaultRequestHeaders.Clear(); // client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); // client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "oLQKZ-tbA58nvbw7PuZhSsy3sr_H28YB3U3XGbpEc5pGIpMrB1nKNjpS_mRhDiFt2QOBZw3IntJ3dmrozZKsw6hd2VuLvoS8-0HxMCVsMUbZ6QZD782Ig1rfFFWPJ13qDq-cMoUgE2t-PdFEp_85aqa8crtVD6aRwntMPjDOgOriFBbzCYjeXyQ3JECl4pOZGd2KYhpCM7n4hXjfCA0t2YeQyvbuId1-e-qhltjEzCkRk7uffgtbwC2KAImsw7jrBYFfxeu1DCRRYdi2AsSZVyBHk0pAqcekzv5jlxLaK2Z-5hFVN0EzSA86Z2MkAq_vXPnJMq0ZrlGfZG6l-hJYb7NjGZCKD44euOf4l-dGQqi40wd8oIhacT1WIrr2RoSAxQn3t1TLDU2TNbgd_pW89JAHd9fmF9k-aZt9tCJuFQs-sW7eJQ1spYqQWHEbKYFbf2Aih5ZBDrIbLeh4hRRFOd_zYZgQKqIZ1tpZ_82UwYUG8FyPn9ZexVzr4t4At4cP"); // HttpResponseMessage responsedatain = await client.GetAsync(Url); // if (responsedatain.IsSuccessStatusCode) // { // var ReponseData = await responsedatain.Content.ReadAsStringAsync(); // var Result = JsonConvert.DeserializeObject<List<TransactionInOut>>(ReponseData); // ListTranIn.ItemsSource = Result; // } //} DateTimeNow.Text = DateTime.Now.ToString("dd/MM/yyyy"); //Dashboardin.ItemsSource = await GetDataInList(); //Dashboardout.ItemsSource = await GetDataOutList(); //Dashboardreorder.ItemsSource = await GetDataLowList(); base.OnAppearing(); }
public Chart GetBalanceReport() { List <TotalCash> totalCashes = new List <TotalCash>(); List <TotalCash> orderedTotalCashes = TotalCashes.OrderBy(t => t.Date).ToList(); for (int i = 0; i < orderedTotalCashes.Count; i++) { if ((orderedTotalCashes[i].Date <= EndDate && orderedTotalCashes[i].Date >= StartDate) || (orderedTotalCashes[i].Date < StartDate && i + 1 == orderedTotalCashes.Count) || (orderedTotalCashes[i].Date < StartDate && i + 1 < orderedTotalCashes.Count && orderedTotalCashes[i + 1].Date > StartDate)) { totalCashes.Add(orderedTotalCashes[i]); } } if (totalCashes.Count == 0) { return(null); } totalCashes = totalCashes.OrderBy(t => t.Date).ToList(); // TotalCashes //List<DateTime> xValues = totalCashes.Where(t => t.Date <= EndDate && t.Date >= StartDate).Select(t => t.Date).ToList(); List <DateTime> xValues = new List <DateTime>(); List <int> yValues = new List <int>(); //xValues.Insert(0, StartDate); //yValues.Insert(0, GetStartingTotalCash()); for (int i = 0; i < totalCashes.Count; i++) { List <Transaction> innerTransactions = AllTransactions.Where(t => t.CreateDate > totalCashes[i].Date && t.CreateDate <= (i + 1 < totalCashes.Count ? totalCashes[i + 1].Date : EndDate)).ToList(); int total = totalCashes[i].Amount; if (innerTransactions.Count == 0) { xValues.Add(totalCashes[i].Date); yValues.Add(total); } foreach (var trans in innerTransactions.GroupBy(t => t.CreateDate)) { DateTime date = trans.Key; foreach (Transaction tr in trans.ToList()) { total -= tr.Amount; } xValues.Add(date); yValues.Add(total); } } xValues.Add(EndDate); yValues.Add(GetCurrentTotalCash()); //List<int> yValues = totalCashes.Where(t => t.Date <= EndDate && t.Date >= StartDate).Select(t => t.Amount).ToList(); Chart c = new Chart(width: 600, height: 400, theme: ChartTheme.Green); c.AddSeries(chartType: "line", xValue: xValues, yValues: yValues); c.AddTitle("Aktuális pénzmennyiség alakulása"); return(c); }
private List <transaction> GetTransactions(string transactiontypecode) { return(AllTransactions.FindAll(f => f.transactiontype?.code == transactiontypecode).ToList()); }
private void Transactions_Load(object sender, EventArgs e) { AllTransactions = transactionService.GetTransactionsByAccountId(Account.Id); DisplayTransactions = ((Transaction[])AllTransactions.ToArray().Clone()).ToList(); LoadTransactionsListToDataGridView(); }