готово
This commit is contained in:
parent
bb11e31e1b
commit
188dac15a1
@ -28,7 +28,10 @@ namespace Lab_5
|
||||
public static void GetIncomes()
|
||||
{
|
||||
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)
|
||||
{
|
||||
Console.WriteLine("Список доходов пуст");
|
||||
@ -37,7 +40,7 @@ namespace Lab_5
|
||||
{
|
||||
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();
|
||||
if (categories.Count == 0)
|
||||
{
|
||||
Console.WriteLine("Список категорий расходов пуст");
|
||||
Console.WriteLine("Список статей расходов пуст");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -59,10 +62,13 @@ namespace Lab_5
|
||||
}
|
||||
}
|
||||
|
||||
public static void Expenses()
|
||||
public static void GetExpenses()
|
||||
{
|
||||
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)
|
||||
{
|
||||
Console.WriteLine("Список доходов пуст");
|
||||
@ -71,7 +77,24 @@ namespace Lab_5
|
||||
{
|
||||
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("Источник дохода добавлен");
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void AddCategoryExpenses()
|
||||
{
|
||||
using Context context = new();
|
||||
CategoryExpenses category = new();
|
||||
Console.WriteLine("Введите название категории расходов");
|
||||
Console.WriteLine("Введите название статьи расходов");
|
||||
category.Name = Console.ReadLine() ?? string.Empty;
|
||||
context.CategorysExpenses.Add(category);
|
||||
context.SaveChanges();
|
||||
Console.WriteLine("Категория расходов добавлена");
|
||||
Console.WriteLine("Статья расходов добавлена");
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void AddFamalyMember()
|
||||
{
|
||||
using Context context = new();
|
||||
FamalyMember member = new();
|
||||
Console.WriteLine("Название продукта?");
|
||||
Console.WriteLine("Введите имя члена семьи");
|
||||
member.Name = Console.ReadLine() ?? string.Empty;
|
||||
context.FamalyMembers.Add(member);
|
||||
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
|
||||
Console.WriteLine("Hello, World!");
|
||||
namespace Lab_5
|
||||
{
|
||||
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