Ejemplo n.º 1
0
        private void InitializeChart()
        {
            //filter by currency
            OperationDtoFilter  filter       = GetChartFilter();
            List <OperationDto> filteredList = _operationRepo.Filter(filter);

            //filter by category
            List <OperationTypeDto> categories = _operationTypeRepo.All();

            List <ChartItem> values = new List <ChartItem>();

            foreach (OperationTypeDto category in categories)
            {
                ChartItem chartItem = new ChartItem()
                {
                    Name  = category.Name,
                    Value = filteredList
                            .Where(d => d.IdOperationType == category.Id)
                            .Sum(d => d.Ammount)
                };
                values.Add(chartItem);
            }

            pieSeries.ItemsSource = values;
        }
Ejemplo n.º 2
0
        private OperationDtoFilter GetChartFilter()
        {
            OperationDtoFilter filter = new OperationDtoFilter();

            filter.IdCurrency = GetClickedCurrency().Id;
            filter.DateFrom   = new DateTime(tbMonth.Date.Year, tbMonth.Date.Month, 1);
            filter.DateTo     = filter.DateFrom.Value.AddMonths(1).AddSeconds(-1);

            return(filter);
        }
Ejemplo n.º 3
0
        private void InitializeTransactions()
        {
            //unsub from events
            foreach (var item in spTransactions.Children)
            {
                EditableTransactionControl control = (EditableTransactionControl)item;
                control.btnEditOperation.Click   -= BtnEditOperation_Click;
                control.btnDeleteOperation.Click -= BtnDeleteOperation_Click;
            }

            spTransactions.Children.Clear();

            // Get present filter
            OperationDtoFilter filter = GetFilter();

            List <OperationDto> operationDtos = _operationRepo.Filter(filter);

            operationDtos = operationDtos.OrderByDescending(d => d.Date).ToList();

            foreach (OperationDto operationDto in operationDtos)
            {
                EditableTransactionControl transactionControl = new EditableTransactionControl();

                transactionControl.IdOperation = operationDto.Id;

                transactionControl.dpTransaction.Text = operationDto.Date.ToString("dd/MMM/yyyy");
                transactionControl.tbCurrency.Text    = operationDto.Account.Currency.Name;
                transactionControl.tbAccount.Text     = operationDto.Account.Name;
                transactionControl.tbAmmount.Text     = operationDto.Ammount.ToString();
                transactionControl.tbCategory.Text    = operationDto.OperationType.Name;
                transactionControl.tbDescription.Text = operationDto.Description;

                transactionControl.btnEditOperation.Click   += BtnEditOperation_Click;
                transactionControl.btnDeleteOperation.Click += BtnDeleteOperation_Click;

                spTransactions.Children.Add(transactionControl);
            }
        }
Ejemplo n.º 4
0
        private OperationDtoFilter GetFilter()
        {
            OperationDtoFilter filter = new OperationDtoFilter();

            // Currency filter
            if ((ComboItem)cbCurrency.SelectedItem != null)
            {
                int?idSelectedCurrency = ((ComboItem)cbCurrency.SelectedItem).Id;
                if (idSelectedCurrency == 0)
                {
                    filter.IdCurrency = null;
                }
                else
                {
                    filter.IdCurrency = idSelectedCurrency;
                }
            }

            // Account filter
            if ((ComboItem)cbAccount.SelectedItem != null)
            {
                int?idSelectedAccount = ((ComboItem)cbAccount.SelectedItem).Id;
                if (idSelectedAccount == 0)
                {
                    filter.IdAccount = null;
                }
                else
                {
                    filter.IdAccount = idSelectedAccount;
                }
            }

            // Category filter
            if ((ComboItem)cbCategory.SelectedItem != null)
            {
                int?idSelectedCategory = ((ComboItem)cbCategory.SelectedItem).Id;
                if (idSelectedCategory == 0)
                {
                    filter.IdCategory = null;
                }
                else
                {
                    filter.IdCategory = idSelectedCategory;
                }
            }

            // Ammount filter
            if (decimal.TryParse(tbFrom.Text, out decimal from))
            {
                filter.AmmountFrom = from;
            }
            if (decimal.TryParse(tbTo.Text, out decimal to))
            {
                filter.AmmountTo = to;
            }

            // Date filter
            filter.DateFrom = dpFrom.SelectedDate;
            filter.DateTo   = dpTo.SelectedDate;

            return(filter);
        }