готово
This commit is contained in:
parent
bb11e31e1b
commit
188dac15a1
@ -28,7 +28,10 @@ namespace Lab_5
|
|||||||
public static void GetIncomes()
|
public static void GetIncomes()
|
||||||
{
|
{
|
||||||
using Context context = new();
|
using Context context = new();
|
||||||
var incomes = context.Incomes.ToList();
|
var incomes = context.Incomes
|
||||||
|
.Include(x => x.FamalyMember)
|
||||||
|
.Include(x => x.SourceIncome)
|
||||||
|
.ToList();
|
||||||
if (incomes.Count == 0)
|
if (incomes.Count == 0)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Список доходов пуст");
|
Console.WriteLine("Список доходов пуст");
|
||||||
@ -37,7 +40,7 @@ namespace Lab_5
|
|||||||
{
|
{
|
||||||
foreach (var income in incomes)
|
foreach (var income in incomes)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{income.Id}. Член семьи: {income.FamalyMember}. Источник дохода: {income.SourceIncome}. Сумма: {income.Summa}");
|
Console.WriteLine($"{income.Id}. Член семьи: {income.FamalyMember.Name}. Источник дохода: {income.SourceIncome.Name}. Сумма: {income.Summa}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,7 +51,7 @@ namespace Lab_5
|
|||||||
var categories = context.CategorysExpenses.ToList();
|
var categories = context.CategorysExpenses.ToList();
|
||||||
if (categories.Count == 0)
|
if (categories.Count == 0)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Список категорий расходов пуст");
|
Console.WriteLine("Список статей расходов пуст");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -59,10 +62,13 @@ namespace Lab_5
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Expenses()
|
public static void GetExpenses()
|
||||||
{
|
{
|
||||||
using Context context = new();
|
using Context context = new();
|
||||||
var expenses = context.Expenses.ToList();
|
var expenses = context.Expenses
|
||||||
|
.Include(x => x.FamalyMember)
|
||||||
|
.Include(x => x.CategoryExpenses)
|
||||||
|
.ToList();
|
||||||
if (expenses.Count == 0)
|
if (expenses.Count == 0)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Список доходов пуст");
|
Console.WriteLine("Список доходов пуст");
|
||||||
@ -71,7 +77,24 @@ namespace Lab_5
|
|||||||
{
|
{
|
||||||
foreach (var expens in expenses)
|
foreach (var expens in expenses)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{expens.Id}. Член семьи: {expens.FamalyMember}. Источник дохода: {expens.CategoryExpenses}. Сумма: {expens.Summa}");
|
Console.WriteLine($"{expens.Id}. Член семьи: {expens.FamalyMember.Name}. Статья расходов: {expens.CategoryExpenses.Name}. Сумма: {expens.Summa}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void GetFamalyMember()
|
||||||
|
{
|
||||||
|
using Context context = new();
|
||||||
|
var members = context.FamalyMembers.ToList();
|
||||||
|
if (members.Count == 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Список членов семьи пуст");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach (var member in members)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{member.Id}. Название: {member.Name}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,34 +112,241 @@ namespace Lab_5
|
|||||||
Console.WriteLine("Источник дохода добавлен");
|
Console.WriteLine("Источник дохода добавлен");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void AddCategoryExpenses()
|
public static void AddCategoryExpenses()
|
||||||
{
|
{
|
||||||
using Context context = new();
|
using Context context = new();
|
||||||
CategoryExpenses category = new();
|
CategoryExpenses category = new();
|
||||||
Console.WriteLine("Введите название категории расходов");
|
Console.WriteLine("Введите название статьи расходов");
|
||||||
category.Name = Console.ReadLine() ?? string.Empty;
|
category.Name = Console.ReadLine() ?? string.Empty;
|
||||||
context.CategorysExpenses.Add(category);
|
context.CategorysExpenses.Add(category);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
Console.WriteLine("Категория расходов добавлена");
|
Console.WriteLine("Статья расходов добавлена");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void AddFamalyMember()
|
public static void AddFamalyMember()
|
||||||
{
|
{
|
||||||
using Context context = new();
|
using Context context = new();
|
||||||
FamalyMember member = new();
|
FamalyMember member = new();
|
||||||
Console.WriteLine("Название продукта?");
|
Console.WriteLine("Введите имя члена семьи");
|
||||||
member.Name = Console.ReadLine() ?? string.Empty;
|
member.Name = Console.ReadLine() ?? string.Empty;
|
||||||
context.FamalyMembers.Add(member);
|
context.FamalyMembers.Add(member);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
Console.WriteLine("Продукт успешно добавлен");
|
Console.WriteLine("Член семьи добавлен");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AddIncome()
|
||||||
|
{
|
||||||
|
//вводим конструкцию try catch, чтобы программа не упала, если пользователь введёт, например, строку вместо числа, и у программы не получится конвертировать в int
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите сумму");
|
||||||
|
int Summa = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Введите номер члена семьи");
|
||||||
|
int famalyMemberId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Введите номер источника доходов");
|
||||||
|
int sourceIncomeId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
//Ищем члена семьи с заданным пользователем Id
|
||||||
|
var famalyMember = context.FamalyMembers.FirstOrDefault(x => x.Id == famalyMemberId);
|
||||||
|
//Ищем источник доходов с заданным пользователем Id
|
||||||
|
var sourceIncome = context.SourcesIncome.FirstOrDefault(x => x.Id == sourceIncomeId);
|
||||||
|
//Прекращаем выполнение функции, если чего-то не нашли
|
||||||
|
if (famalyMember == null || sourceIncome == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найден член семьи или источник доходов");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//если всё нашли, добавляем новую запись в таблицу Incomes
|
||||||
|
var newIncome = new Income()
|
||||||
|
{
|
||||||
|
FamalyMember = famalyMember,
|
||||||
|
SourceIncome = sourceIncome,
|
||||||
|
Summa = Summa
|
||||||
|
};
|
||||||
|
context.Incomes.Add(newIncome);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Успешно");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AddExpence()
|
||||||
|
{
|
||||||
|
//вводим конструкцию try catch, чтобы программа не упала, если пользователь введёт, например, строку вместо числа, и у программы не получится конвертировать в int
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите сумму");
|
||||||
|
int Summa = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Введите номер члена семьи");
|
||||||
|
int famalyMemberId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Введите номер статьи расходов");
|
||||||
|
int categoryExpenseId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
//Ищем члена семьи с заданным пользователем Id
|
||||||
|
var famalyMember = context.FamalyMembers.FirstOrDefault(x => x.Id == famalyMemberId);
|
||||||
|
//Ищем статью расходов с заданным пользователем Id
|
||||||
|
var categoryExpense = context.CategorysExpenses.FirstOrDefault(x => x.Id == categoryExpenseId);
|
||||||
|
//Прекращаем выполнение функции, если чего-то не нашли
|
||||||
|
if (famalyMember == null || categoryExpense == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найден член семьи или статья расходов");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//если всё нашли, добавляем новую запись в таблицу Expences
|
||||||
|
var newExpense = new Expens()
|
||||||
|
{
|
||||||
|
FamalyMember = famalyMember,
|
||||||
|
CategoryExpenses = categoryExpense,
|
||||||
|
Summa = Summa
|
||||||
|
};
|
||||||
|
context.Expenses.Add(newExpense);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Успешно");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Обновление данных
|
// Обновление данных
|
||||||
|
|
||||||
|
public static void UpdateSorceIncome()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите номер источника дохода");
|
||||||
|
int sourceId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
var source = context.SourcesIncome.FirstOrDefault(x => x.Id == sourceId);
|
||||||
|
if (source == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найден источник дохода с таким номером");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Console.WriteLine("Введите новое наименование");
|
||||||
|
string sourceName = Console.ReadLine() ?? string.Empty;
|
||||||
|
source.Name = sourceName;
|
||||||
|
context.SourcesIncome.Update(source);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Информация обновлена");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateCategoryExpenses()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите номер статьи расходов");
|
||||||
|
int categoryId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
var category = context.CategorysExpenses.FirstOrDefault(x => x.Id == categoryId);
|
||||||
|
if (category == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найдена статья затрат с таким номером");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Console.WriteLine("Введите новое наименование");
|
||||||
|
string categoryName = Console.ReadLine() ?? string.Empty;
|
||||||
|
category.Name = categoryName;
|
||||||
|
context.CategorysExpenses.Update(category);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Информация обновлена");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Удаление данных
|
// Удаление данных
|
||||||
|
|
||||||
|
public static void DeleteSourceIncome()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите номер источника дохода");
|
||||||
|
int sourceId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
var source = context.SourcesIncome.FirstOrDefault(x => x.Id == sourceId);
|
||||||
|
if (source == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найден источник дохода с таким номером");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.Remove(source);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Источник дохода удалён");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DeleteCategoryExpenses()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите номер статьи расходов");
|
||||||
|
int categoryId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
var category= context.CategorysExpenses.FirstOrDefault(x => x.Id == categoryId);
|
||||||
|
if (category == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найдена статья расходов с таким номером");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.Remove(category);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Статья расходов удалёна");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DeleteFamalyMember()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Введите номер источника дохода");
|
||||||
|
int memberId = Convert.ToInt32(Console.ReadLine());
|
||||||
|
using Context context = new();
|
||||||
|
var member = context.FamalyMembers.FirstOrDefault(x => x.Id == memberId);
|
||||||
|
if (member == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Не найден источник дохода с таким номером");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.Remove(member);
|
||||||
|
context.SaveChanges();
|
||||||
|
Console.WriteLine("Источник дохода удалён");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Truncate()
|
||||||
|
{
|
||||||
|
using Context context = new();
|
||||||
|
context.SourcesIncome.RemoveRange(context.SourcesIncome);
|
||||||
|
context.Incomes.RemoveRange(context.Incomes);
|
||||||
|
context.CategorysExpenses.RemoveRange(context.CategorysExpenses);
|
||||||
|
context.Expenses.RemoveRange(context.Expenses);
|
||||||
|
context.FamalyMembers.RemoveRange(context.FamalyMembers);
|
||||||
|
Console.WriteLine("База данных очищена");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,2 +1,68 @@
|
|||||||
// See https://aka.ms/new-console-template for more information
|
namespace Lab_5
|
||||||
Console.WriteLine("Hello, World!");
|
{
|
||||||
|
public class Program
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Начало работы программы\n");
|
||||||
|
Console.WriteLine("1 - получение списка всех доходов\n" +
|
||||||
|
"2 - получение списка всех расходов\n" +
|
||||||
|
"3 - получение списка всех членов семьи\n" +
|
||||||
|
"4 - добавить доход\n" +
|
||||||
|
"5 - добавить расход\n" +
|
||||||
|
"6 - добавить члена семьи\n" +
|
||||||
|
"7 - добавить источник дохода\n" +
|
||||||
|
"8 - добавить статью расходов\n" +
|
||||||
|
"9 - обновить источник дохода\n" +
|
||||||
|
"10 - обновить статью затрат\n" +
|
||||||
|
"11 - удалить источник дохода\n" +
|
||||||
|
"12 - удалить статью расходов");
|
||||||
|
string? command = Console.ReadLine();
|
||||||
|
while (command != null || command != "Выход")
|
||||||
|
{
|
||||||
|
switch (command)
|
||||||
|
{
|
||||||
|
case "1":
|
||||||
|
Controller.GetIncomes();
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
Controller.GetExpenses();
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
Controller.GetFamalyMember();
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
Controller.AddIncome();
|
||||||
|
break;
|
||||||
|
case "5":
|
||||||
|
Controller.AddExpence();
|
||||||
|
break;
|
||||||
|
case "6":
|
||||||
|
Controller.AddFamalyMember();
|
||||||
|
break;
|
||||||
|
case "7":
|
||||||
|
Controller.AddSourceIncome();
|
||||||
|
break;
|
||||||
|
case "8":
|
||||||
|
Controller.AddCategoryExpenses();
|
||||||
|
break;
|
||||||
|
case "9":
|
||||||
|
Controller.UpdateSorceIncome();
|
||||||
|
break;
|
||||||
|
case "10":
|
||||||
|
Controller.UpdateCategoryExpenses();
|
||||||
|
break;
|
||||||
|
case "11":
|
||||||
|
Controller.DeleteSourceIncome();
|
||||||
|
break;
|
||||||
|
case "12":
|
||||||
|
Controller.DeleteCategoryExpenses();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Console.WriteLine("Неверный ввод");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user