/// <summary> /// Проверяет существует ли файл, если нет создает необходимый файл. /// </summary> private void FileExist(string fileName) { SortingService sortSrv = new SortingService(); if (!File.Exists(_path)) { using (File.Create(_path)); RandomDataGeneratorService dataFileCreation = new RandomDataGeneratorService(); switch (fileName) { case "Список сотрудников": SaveDataInFile(dataFileCreation.ListOfEmployees()); break; case "Список отработанных часов руководителей": SaveDataInFile(sortSrv.SortingList(dataFileCreation.ListOfHoursWorkedByLeaders())); break; case "Список отработанных часов сотрудников на зарплате": SaveDataInFile(sortSrv.SortingList(dataFileCreation.ListOfEmployeesWorkedHours())); break; case "Список отработанных часов внештатных сотрудников": SaveDataInFile(sortSrv.SortingList(dataFileCreation.ListOfFreelancersWorkedHours())); break; } } }
/// <summary> /// Создает рандомный список строк для файла "Список отработанных часов руководителей.csv" /// </summary> /// <returns>Список строк.</returns> public List <string> ListOfHoursWorkedByLeaders() { DateTime rndDate = new DateTime(); RandomDate randomDate = new RandomDate(); Random rnd = new Random(); List <string> listLeader = new List <string>(); listLeader.Add("Иван Петров"); listLeader.Add("Дмитрий Медведев"); int workingHours; List <string> listTask = new List <string>(); listTask.Add("Проводил собеседование джуниор разработчиков"); listTask.Add("Митинг"); listTask.Add("Проводил собеседование"); listTask.Add("Ревью кода"); listTask.Add("Проводил собеседование C# разработчиков"); listTask.Add("Совещание с архитектором"); listTask.Add("Совещание в PM"); listTask.Add("Общение с заказчиков"); StringBuilder line = new StringBuilder(); StringBuilder nameAndSurname = new StringBuilder(); StringBuilder task = new StringBuilder(); for (int i = 0; i < 100; i++) { // Рандомная дата (диапазон 1 год от текущей). rndDate = randomDate.Next(); // Рандомное имя и фамилия руководителя из 2-х. nameAndSurname.Append(listLeader[rnd.Next(0, 1)]); // Рандомное количество отработанных часов за день (диапазон от 1 до 12). workingHours = rnd.Next(1, 12); // Рандомная задача. task.Append(listTask[rnd.Next(0, 7)]); line.Append(rndDate.ToShortDateString()); line.Append(","); line.Append(nameAndSurname); line.Append(","); line.Append(workingHours); line.Append(","); line.Append(task); _listOfFileLines.Add(line.ToString()); nameAndSurname.Clear(); task.Clear(); line.Clear(); } // Сотрируем список по дате, удаляем дублирующие строки(по дате) в списке и возвращаем. return(RemoveDuplicateLinesByDate(_sortSrv.SortingList(_listOfFileLines))); }