готовый отчет по движению денег
This commit is contained in:
parent
2986786ef7
commit
f07a6af01c
@ -22,4 +22,14 @@ public class PeopleExpense
|
|||||||
ExpensePeopleExpenses = expensePeopleExpenses
|
ExpensePeopleExpenses = expensePeopleExpenses
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
public static PeopleExpense CreateOperation(TempExpensePeopleExpense tempExpensePeopleExpense, IEnumerable<ExpensePeopleExpense> expensePeopleExpenses)
|
||||||
|
{
|
||||||
|
return new PeopleExpense
|
||||||
|
{
|
||||||
|
Id = tempExpensePeopleExpense.Id,
|
||||||
|
PeopleId = tempExpensePeopleExpense.PeopleId,
|
||||||
|
DataReciept = tempExpensePeopleExpense.DataReciept,
|
||||||
|
ExpensePeopleExpenses = expensePeopleExpenses
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,4 +23,14 @@ public class PeopleIncome
|
|||||||
IncomePeopleIncomes = incomePeopleIncomes
|
IncomePeopleIncomes = incomePeopleIncomes
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
public static PeopleIncome CreateOperation(TempIncomePeopleIncome tempIncomePeopleIncome, IEnumerable<IncomePeopleIncome> incomePeopleIncomes)
|
||||||
|
{
|
||||||
|
return new PeopleIncome
|
||||||
|
{
|
||||||
|
Id = tempIncomePeopleIncome.Id,
|
||||||
|
PeopleId = tempIncomePeopleIncome.PeopleId,
|
||||||
|
DataReciept = tempIncomePeopleIncome.DataReciept,
|
||||||
|
IncomePeopleIncomes = incomePeopleIncomes
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
16
ProjectFamilyBudget/Entities/TempExpensePeopleExpense.cs
Normal file
16
ProjectFamilyBudget/Entities/TempExpensePeopleExpense.cs
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ProjectFamilyBudget.Entities;
|
||||||
|
|
||||||
|
public class TempExpensePeopleExpense
|
||||||
|
{
|
||||||
|
public int Id { get; private set; }
|
||||||
|
public int PeopleId { get; private set; }
|
||||||
|
public DateTime DataReciept { get; private set; }
|
||||||
|
public int ExpenseId { get; private set; }
|
||||||
|
public int Sum { get; private set; }
|
||||||
|
}
|
@ -10,7 +10,7 @@ public class TempIncomePeopleIncome
|
|||||||
{
|
{
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
public int PeopleId { get; private set; }
|
public int PeopleId { get; private set; }
|
||||||
public DateTime DateReceipt { get; private set; }
|
public DateTime DataReciept { get; private set; }
|
||||||
public int IncomeId { get; private set; }
|
public int IncomeId { get; private set; }
|
||||||
public int Sum { get; private set; }
|
public int Sum { get; private set; }
|
||||||
}
|
}
|
||||||
|
12
ProjectFamilyBudget/FormFamilyBudget.Designer.cs
generated
12
ProjectFamilyBudget/FormFamilyBudget.Designer.cs
generated
@ -38,6 +38,7 @@
|
|||||||
PeopleExpenseToolStripMenuItem = new ToolStripMenuItem();
|
PeopleExpenseToolStripMenuItem = new ToolStripMenuItem();
|
||||||
отчетыToolStripMenuItem = new ToolStripMenuItem();
|
отчетыToolStripMenuItem = new ToolStripMenuItem();
|
||||||
DirectoryReportToolStripMenuItem = new ToolStripMenuItem();
|
DirectoryReportToolStripMenuItem = new ToolStripMenuItem();
|
||||||
|
moneyReportToolStripMenuItem = new ToolStripMenuItem();
|
||||||
menuStrip.SuspendLayout();
|
menuStrip.SuspendLayout();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
@ -101,7 +102,7 @@
|
|||||||
//
|
//
|
||||||
// отчетыToolStripMenuItem
|
// отчетыToolStripMenuItem
|
||||||
//
|
//
|
||||||
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { DirectoryReportToolStripMenuItem });
|
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { DirectoryReportToolStripMenuItem, moneyReportToolStripMenuItem });
|
||||||
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
|
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
|
||||||
отчетыToolStripMenuItem.Size = new Size(60, 20);
|
отчетыToolStripMenuItem.Size = new Size(60, 20);
|
||||||
отчетыToolStripMenuItem.Text = "Отчеты";
|
отчетыToolStripMenuItem.Text = "Отчеты";
|
||||||
@ -114,6 +115,14 @@
|
|||||||
DirectoryReportToolStripMenuItem.Text = "Документ со справочниками";
|
DirectoryReportToolStripMenuItem.Text = "Документ со справочниками";
|
||||||
DirectoryReportToolStripMenuItem.Click += DirectoryReportToolStripMenuItem_Click;
|
DirectoryReportToolStripMenuItem.Click += DirectoryReportToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
|
// moneyReportToolStripMenuItem
|
||||||
|
//
|
||||||
|
moneyReportToolStripMenuItem.Name = "moneyReportToolStripMenuItem";
|
||||||
|
moneyReportToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.E;
|
||||||
|
moneyReportToolStripMenuItem.Size = new Size(280, 22);
|
||||||
|
moneyReportToolStripMenuItem.Text = "Движение денег";
|
||||||
|
moneyReportToolStripMenuItem.Click += moneyReportToolStripMenuItem_Click;
|
||||||
|
//
|
||||||
// FormFamilyBudget
|
// FormFamilyBudget
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||||
@ -144,5 +153,6 @@
|
|||||||
private ToolStripMenuItem PeopleIncomeToolStripMenuItem;
|
private ToolStripMenuItem PeopleIncomeToolStripMenuItem;
|
||||||
private ToolStripMenuItem PeopleExpenseToolStripMenuItem;
|
private ToolStripMenuItem PeopleExpenseToolStripMenuItem;
|
||||||
private ToolStripMenuItem DirectoryReportToolStripMenuItem;
|
private ToolStripMenuItem DirectoryReportToolStripMenuItem;
|
||||||
|
private ToolStripMenuItem moneyReportToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,5 +90,18 @@ namespace ProjectFamilyBudget
|
|||||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void moneyReportToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_container.Resolve<FormMoneyReport>().ShowDialog();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.Message, "Îøèáêà ïðè çàãðóçêå",
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,8 +62,8 @@ namespace ProjectFamilyBudget.Forms
|
|||||||
list.Add(ExpensePeopleExpense.CreateElement(0, Convert.ToInt32(row.Cells["ColumnExpense"].Value)
|
list.Add(ExpensePeopleExpense.CreateElement(0, Convert.ToInt32(row.Cells["ColumnExpense"].Value)
|
||||||
, Convert.ToInt32(row.Cells["ColumnSum"].Value)));
|
, Convert.ToInt32(row.Cells["ColumnSum"].Value)));
|
||||||
}
|
}
|
||||||
return list;
|
return list.GroupBy(x => x.ExpenseId, x => x.Sum, (id, counts) =>
|
||||||
|
ExpensePeopleExpense.CreateElement(0, id, counts.Sum())).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,8 +63,8 @@ namespace ProjectFamilyBudget.Forms
|
|||||||
list.Add(IncomePeopleIncome.CreateElement(0, Convert.ToInt32(row.Cells["ColumnIncome"].Value)
|
list.Add(IncomePeopleIncome.CreateElement(0, Convert.ToInt32(row.Cells["ColumnIncome"].Value)
|
||||||
, Convert.ToInt32(row.Cells["ColumnSum"].Value)));
|
, Convert.ToInt32(row.Cells["ColumnSum"].Value)));
|
||||||
}
|
}
|
||||||
return list;
|
return list.GroupBy(x => x.IncomeId, x => x.Sum, (id, counts) =>
|
||||||
|
IncomePeopleIncome.CreateElement(0, id, counts.Sum())).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,8 @@ public class PeopleExpenseRepository : IPeopleExpense
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
|
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
|
||||||
var querySelect = "SELECT * FROM PeopleExpense";
|
var querySelect = @"SELECT pe.*, epe.ExpenseId, epe.Sum FROM PeopleExpense pe
|
||||||
|
INNER JOIN ExpensePeopleExpense epe on epe.PeopleExpenseId = pe.Id";
|
||||||
var peopleExpenses = connection.Query<PeopleExpense>(querySelect);
|
var peopleExpenses = connection.Query<PeopleExpense>(querySelect);
|
||||||
_logger.LogDebug("Полученные объекты: {json}",
|
_logger.LogDebug("Полученные объекты: {json}",
|
||||||
JsonConvert.SerializeObject(peopleExpenses));
|
JsonConvert.SerializeObject(peopleExpenses));
|
||||||
|
@ -94,11 +94,12 @@ public class PeopleIncomeRepository : IPeopleIncome
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
|
using var connection = new NpgsqlConnection(_connectionString.ConnectionString);
|
||||||
var querySelect = "SELECT * FROM PeopleIncome";
|
var querySelect = @"SELECT pi.*, ipi.IncomeId, ipi.Sum FROM PeopleIncome pi
|
||||||
var peopleIncomes = connection.Query<PeopleIncome>(querySelect);
|
INNER JOIN IncomePeopleIncome ipi on ipi.PeopleIncomeId = pi.Id";
|
||||||
_logger.LogDebug("Полученные объекты: {json}",
|
var peopleIncomes = connection.Query<TempIncomePeopleIncome>(querySelect);
|
||||||
JsonConvert.SerializeObject(peopleIncomes));
|
_logger.LogDebug("Полученные объекты: {json}", JsonConvert.SerializeObject(peopleIncomes));
|
||||||
return peopleIncomes;
|
return peopleIncomes.GroupBy(x => x.Id, y => y, (key, value) => PeopleIncome.CreateOperation(value.First(),
|
||||||
|
value.Select(z => IncomePeopleIncome.CreateElement(0, z.IncomeId, z.Sum)))).ToList();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user