СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 2. Леоненков, А. Самоучитель UML / А




1. Босуэлл, Д. Читаемый код, или Программирование как искусство / Д. Босуэлл, Т. Фаучер. – СПб.: Питер, 2012. – 208 с.

2. Леоненков, А. Самоучитель UML / А. Леоненков. – 2-е изд – СПб.: БХВ-Петербург, 2004. − 638 с.

3. Паттерны проектирования / Э. Фримен [ и др. ]. – СПб.: Питер, 2015. – 656 с

4. Дэвис, А. Асинхронное программирование в C # 5.0 / А. Дэвис. – М.: ДМК Пресс, 2018 – 120 с.

5. Грабер, М. SQL для простых смертных / М. Грабер. –М.: ЛОРИ, 2014. – 378 c.

6. Евдокимов, П.В. C # на примерах / П.В. Евдокимов. – СПб.: Наука и техника, 2018 – 320 с.

7. Подбельский, В.В. Язык C #. Решение задач / В.В. Подбельский. – М.: Финансы и статистика, 2014 – 296 с.

8. Троелсен, Э. Язык программирования C # 6.0 и платформа. NET 4.6 / Э. Троелсен, Ф. Джепикс. – М.: Вильямс, 2016 – 1440 с.


Приложение А

(обязательное)

Листинг программного кода

 

using System;

 

namespace PhonesProject

{

class Program

{

static void Main(string[] args)

{

MenuService menuService = new MenuService();

int menuItems;

Console.WriteLine("Главное меню. Выберите нужный пункт меню.");

Console.WriteLine("1 - Добавить запись");

Console.WriteLine("2 - Удалить запись");

Console.WriteLine("3 - Посмотреть все записи");

Console.WriteLine("4 - Найти пользователей по фамилии");

menuItems = Convert.ToInt32(Console.ReadLine());

Console.Clear();

switch (menuItems)

{

case 1:

menuService.MenuAddItem();

break;

case 2:

menuService.MenuRemoveItem();

break;

case 3:

menuService.MenuGetItems();

break;

case 4:

menuService.MenuFindItems();

break;

default:

break;

}

Console.ReadLine();

}

}

}

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace PhonesProject

{

class MenuService

{

DbContext db = new DbContext();

 

public void MenuAddItem()

{

var phone = new Phone();

Console.WriteLine("Введите id");

var id = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите фамилию");

var surname = Console.ReadLine();

Console.WriteLine("Введите имя");

var firstName = Console.ReadLine();

Console.WriteLine("Введите отчество");

var fatherName = Console.ReadLine();

Console.WriteLine("Введите номер телефона");

var telephone = Console.ReadLine();

 

phone.Id = id;

phone.Surname = surname;

phone.FirstName = firstName;

phone.FatherName = fatherName;

phone.Telephone = telephone;

 

db.Phones.Add(phone);

if (db.Phones.SaveChanges())

Console.WriteLine("Данные успешно сохранены");

else

Console.WriteLine("Ошибка сохранения данных");

}

 

public void MenuRemoveItem()

{

Console.WriteLine("Список пользователей");

var phones = db.Phones.GetAll();

foreach (var curr_phone in phones)

{

Console.WriteLine("Id: {0} Фамилия: {1} Имя: {2} Отчество: {3} Телефон: {4}", curr_phone.Id, curr_phone.Surname, curr_phone.FirstName, curr_phone.FatherName, curr_phone.Telephone);

}

Console.WriteLine("Введите id удаляемого пользователя");

var id = Convert.ToInt32(Console.ReadLine());

 

bool isDeleted = db.Phones.Remove(id);

if (isDeleted)

{

db.Phones.SaveChanges();

Console.WriteLine("Данные успешно удалены");

}

else

Console.WriteLine("Данные не были удалены");

}

 

public void MenuGetItems()

{

Console.WriteLine("Список пользователей");

var phones = db.Phones.GetAll();

foreach (var curr_phone in phones)

{

Console.WriteLine("Id: {0} Фамилия: {1} Имя: {2} Отчество: {3} Телефон: {4}", curr_phone.Id, curr_phone.Surname, curr_phone.FirstName, curr_phone.FatherName, curr_phone.Telephone);

}

}

 

public void MenuFindItems()

{

Console.WriteLine("Введите фамилию пользователя");

var surname = Console.ReadLine();

var phones = db.Phones.FindAllUsersSurname(surname);

if (phones.Count > 0)

{

foreach (var curr_phone in phones)

{

Console.WriteLine("Id: {0} Фамилия: {1} Имя: {2} Отчество: {3} Телефон: {4}", curr_phone.Id, curr_phone.Surname, curr_phone.FirstName, curr_phone.FatherName, curr_phone.Telephone);

}

}

else

Console.WriteLine("Пользователи с данной фамилией не найдены");

}

}

}

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace PhonesProject

{

public class DbContext

{

public DbSet<Phone> Phones { get; set; }

 

public DbContext()

{

Phones = new DbSet<Phone>();

}

}

}

 

using Newtonsoft.Json;

using Newtonsoft.Json.Linq;

using System;

using System.Collections.Generic;

using System.IO;

using System.Text;

 

namespace PhonesProject

{

public class DbSet<T> where T: Phone

{

private List<T> Entities;

private string fileName;

private string typeFile = ".json";

public void Add(T entity)

{

Entities.Add(entity);

}

public void Edit(int id, T entity)

{

var index = Entities.FindIndex(x => x.Id == id);

Entities[index] = entity;

}

public bool Remove(int id)

{

var itemToRemove = Entities.FindAll(r => r.Id == id);

 

if (itemToRemove!= null)

{

foreach (var item in itemToRemove)

{

Entities.Remove(item);

}

return true;

}

return false;

}

public bool RemoveAll()

{

var itemToRemove = Entities.FindAll(r => r.Id > 0);

 

if (itemToRemove!= null)

{

foreach (var item in itemToRemove)

{

Entities.Remove(item);

}

return true;

}

return false;

}

public T GetId(int id)

{

return Entities.Find(x => x.Id == id);

}

public List<T> GetAll()

{

return Entities;

}

public List<T> FindAllUsersSurname(string surname)

{

var findItems = Entities.FindAll(r => r.Surname == surname);

return findItems;

}

public bool SaveChanges()

{

try

{

var a = "{\"" + fileName + "\":" + JsonConvert.SerializeObject(Entities) + "}";

File.WriteAllText(fileName + typeFile, a);

return true;

}

catch

{

return false;

}

}

private void GetDataFromFile()

{

var jsonData = JObject.Parse(File.ReadAllText(fileName + typeFile));

 

var resultArray = (JArray)jsonData[fileName];

Entities = resultArray.ToObject<List<T>>();

}

public DbSet()

{

Entities = new List<T>();

fileName = Entities.GetType().GetGenericArguments()[0].Name;

GetDataFromFile();

}

 

 

}

}

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace PhonesProject

{

public class Phone

{

public int Id { get; set; }

public string Surname { get; set; }

public string FirstName { get; set; }

public string FatherName { get; set; }

public string Telephone { get; set; }

}

}



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: