init
This commit is contained in:
parent
df8314a5ed
commit
aa3336ca1b
@ -1,8 +1,10 @@
|
|||||||
namespace Demo.Domain.Models
|
|
||||||
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class ClassGroup
|
public class ClassGroup
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; } = string.Empty; // Название группы
|
public string Name { get; set; } = string.Empty; // Название группы
|
||||||
|
public List<User>? Users { get; internal set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
Demo1/Data/LocalData/Entity/DailyAttendance.cs
Normal file
20
Demo1/Data/LocalData/Entity/DailyAttendance.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Data.LocalData.Entity
|
||||||
|
{
|
||||||
|
public class DailyAttendance
|
||||||
|
{
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
public bool[] Attendance { get; set; }
|
||||||
|
|
||||||
|
public DailyAttendance(Guid userId, int days)
|
||||||
|
{
|
||||||
|
UserId = userId;
|
||||||
|
Attendance = new bool[days];
|
||||||
|
for (int i = 0; i < days; i++)
|
||||||
|
{
|
||||||
|
Attendance[i] = true; // По умолчанию все присутствуют
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace Demo.Data.LocalData.Entity
|
|
||||||
{
|
|
||||||
public class Presence
|
|
||||||
{
|
|
||||||
public required LocalUser Student { get; set; } // добавлено required
|
|
||||||
public bool IsPresent { get; set; } = true;
|
|
||||||
public DateOnly AttendanceDate { get; set; }
|
|
||||||
public int LessonId { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
25
Demo1/Data/LocalData/Entity/StudentAttendance.cs
Normal file
25
Demo1/Data/LocalData/Entity/StudentAttendance.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Demo.Domain.Models
|
||||||
|
{
|
||||||
|
public class StudentAttendance
|
||||||
|
{
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
public bool[] Attendance { get; set; }
|
||||||
|
|
||||||
|
public StudentAttendance(Guid userId, int lessonsCount)
|
||||||
|
{
|
||||||
|
UserId = userId;
|
||||||
|
Attendance = new bool[lessonsCount];
|
||||||
|
for (int i = 0; i < lessonsCount; i++)
|
||||||
|
{
|
||||||
|
Attendance[i] = true; // По умолчанию все присутствуют
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Добавьте здесь новые свойства, если хотите хранить дополнительные данные
|
||||||
|
public int LessonId { get; set; } // Идентификатор урока
|
||||||
|
public bool IsPresent { get; set; } // Статус присутствия
|
||||||
|
public DateTime AttendanceDate { get; set; } // Дата посещаемости
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
using Demo.Data.LocalData.Entity;
|
using Demo.Data.LocalData.Entity;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
|
||||||
namespace Demo.Data.LocalData
|
namespace Demo.Data.LocalData
|
||||||
{
|
{
|
||||||
@ -22,5 +23,35 @@ namespace Demo.Data.LocalData
|
|||||||
"ИП1-23",
|
"ИП1-23",
|
||||||
"С1-23"
|
"С1-23"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Список посещаемостей
|
||||||
|
public static List<Presence> Presences { get; } = new List<Presence>();
|
||||||
|
|
||||||
|
public static void InitializePresences()
|
||||||
|
{
|
||||||
|
// Инициализация списка посещаемости для текущей недели
|
||||||
|
foreach (var user in Users)
|
||||||
|
{
|
||||||
|
var lessons = new List<bool>(new bool[3]); // Предположим, что у нас 3 занятия
|
||||||
|
Presences.Add(new Presence(user.Id, DateTime.Today, user.GroupID, lessons));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Класс для хранения посещаемости
|
||||||
|
public class Presence
|
||||||
|
{
|
||||||
|
public Guid UserID { get; set; }
|
||||||
|
public DateTime Date { get; set; }
|
||||||
|
public int GroupID { get; set; }
|
||||||
|
public List<bool> Lessons { get; set; } // true - присутствует, false - отсутствует
|
||||||
|
|
||||||
|
public Presence(Guid userId, DateTime date, int groupId, List<bool> lessons)
|
||||||
|
{
|
||||||
|
UserID = userId;
|
||||||
|
Date = date;
|
||||||
|
GroupID = groupId;
|
||||||
|
Lessons = lessons;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
21
Demo1/Data/LocalData/WeeklyAttendance.cs
Normal file
21
Demo1/Data/LocalData/WeeklyAttendance.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Demo.Domain.Models
|
||||||
|
{
|
||||||
|
public class WeeklyAttendance
|
||||||
|
{
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
public int GroupID { get; set; }
|
||||||
|
public DateTime Date { get; set; }
|
||||||
|
public List<bool> Lessons { get; set; }
|
||||||
|
|
||||||
|
public WeeklyAttendance(Guid userId, int groupId)
|
||||||
|
{
|
||||||
|
UserId = userId;
|
||||||
|
GroupID = groupId;
|
||||||
|
Date = DateTime.Now; // или передайте дату в качестве параметра
|
||||||
|
Lessons = new List<bool>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,8 @@
|
|||||||
using Demo.Data.LocalData.Entity;
|
using Demo.Data.LocalData.Entity;
|
||||||
using Demo.Domain.Models;
|
using Demo.Domain.Models;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Demo.Data.Repository
|
namespace Demo.Data.Repository
|
||||||
{
|
{
|
||||||
@ -23,5 +25,13 @@ namespace Demo.Data.Repository
|
|||||||
if (group == null) throw new ArgumentNullException(nameof(group));
|
if (group == null) throw new ArgumentNullException(nameof(group));
|
||||||
groups.Add(group);
|
groups.Add(group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Метод для получения пользователей по ID группы
|
||||||
|
public List<User> GetUsersByGroup(int groupId)
|
||||||
|
{
|
||||||
|
// Предполагаем, что ClassGroup имеет свойство Users, содержащее список пользователей
|
||||||
|
var group = groups.FirstOrDefault(g => g.Id == groupId);
|
||||||
|
return group?.Users ?? new List<User>(); // Возвращаем пользователей или пустой список, если группа не найдена
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
Demo1/Data/Repository/IPresenceRepository.cs
Normal file
18
Demo1/Data/Repository/IPresenceRepository.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
|
||||||
|
namespace Demo.Data.Repository
|
||||||
|
{
|
||||||
|
public interface IPresenceRepository
|
||||||
|
{
|
||||||
|
List<User> GetUsersByGroup(int groupNumber);
|
||||||
|
void SavePresence(List<LessonPresence> presenceList);
|
||||||
|
List<LessonPresence> GetPresenceByGroup(int groupNumber);
|
||||||
|
List<LessonPresence> GetPresenceByGroupAndDate(int groupNumber, DateTime date);
|
||||||
|
void MarkUserAbsent(Guid userId, int groupNumber, int lessonIndex, DateTime date);
|
||||||
|
|
||||||
|
// Добавляем метод для обновления записи о посещаемости
|
||||||
|
void UpdatePresence(LessonPresence presence); // Обновление присутствия
|
||||||
|
}
|
||||||
|
}
|
22
Demo1/Data/Repository/LessonPresence.cs
Normal file
22
Demo1/Data/Repository/LessonPresence.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Demo.Domain.Models
|
||||||
|
{
|
||||||
|
public class LessonPresence
|
||||||
|
{
|
||||||
|
public Guid UserId { get; set; } // Идентификатор пользователя
|
||||||
|
public DateTime Date { get; set; } // Дата посещаемости
|
||||||
|
public int GroupID { get; set; } // ID группы
|
||||||
|
public List<bool> Lessons { get; set; } // Список посещаемости по занятиям
|
||||||
|
|
||||||
|
// Конструктор класса
|
||||||
|
public LessonPresence(Guid userId, DateTime date, int groupId, List<bool> lessons)
|
||||||
|
{
|
||||||
|
UserId = userId;
|
||||||
|
Date = date;
|
||||||
|
GroupID = groupId;
|
||||||
|
Lessons = lessons;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
52
Demo1/Data/Repository/PresenceRepositorylmpl.cs
Normal file
52
Demo1/Data/Repository/PresenceRepositorylmpl.cs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Demo.Data.LocalData;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
|
||||||
|
namespace Demo.Data.Repository
|
||||||
|
{
|
||||||
|
public class PresenceRepositoryImpl : IPresenceRepository
|
||||||
|
{
|
||||||
|
private readonly List<LessonPresence> _presences = new List<LessonPresence>();
|
||||||
|
|
||||||
|
public List<User> GetUsersByGroup(int groupNumber)
|
||||||
|
{
|
||||||
|
// Здесь должна быть логика получения пользователей по номеру группы
|
||||||
|
return new List<User>
|
||||||
|
{
|
||||||
|
new User { Id = Guid.NewGuid(), FullName = "Иванов Иван", ClassId = groupNumber },
|
||||||
|
new User { Id = Guid.NewGuid(), FullName = "Петров Пётр", ClassId = groupNumber },
|
||||||
|
// Добавьте других пользователей по аналогии
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SavePresence(List<LessonPresence> presenceList)
|
||||||
|
{
|
||||||
|
_presences.AddRange(presenceList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LessonPresence> GetPresenceByGroup(int groupNumber)
|
||||||
|
{
|
||||||
|
return _presences.FindAll(p => p.GroupID == groupNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LessonPresence> GetPresenceByGroupAndDate(int groupNumber, DateTime date)
|
||||||
|
{
|
||||||
|
return _presences.FindAll(p => p.GroupID == groupNumber && p.Date.Date == date.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void MarkUserAbsent(Guid userId, int groupNumber, int lessonIndex, DateTime date)
|
||||||
|
{
|
||||||
|
var presence = _presences.Find(p => p.UserId == userId && p.GroupID == groupNumber && p.Date.Date == date.Date);
|
||||||
|
if (presence != null && lessonIndex >= 0 && lessonIndex < presence.Lessons.Count)
|
||||||
|
{
|
||||||
|
presence.Lessons[lessonIndex] = false; // Отметим занятие как отсутствующее
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdatePresence(LessonPresence presence)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,6 @@
|
|||||||
using Demo.Data.LocalData;
|
using Demo.Data.LocalData;
|
||||||
using Demo.Data.LocalData.Entity;
|
using Demo.Data.LocalData.Entity;
|
||||||
using Demo.Domain.Models;
|
using Demo.Domain.Models; // Убедитесь, что эта директива используется только один раз
|
||||||
using Demo.Domain.Models;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -1,13 +1,22 @@
|
|||||||
using Demo.Domain.Models;
|
using System;
|
||||||
using System;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Demo.Domain.Models
|
namespace Demo.Domain.Models
|
||||||
{
|
{
|
||||||
public class Presence
|
public class Presence
|
||||||
{
|
{
|
||||||
public required User Student { get; set; } // Добавлено required
|
public Guid UserId { get; set; } // Идентификатор пользователя
|
||||||
public bool IsPresent { get; set; } = true; // По умолчанию
|
public DateTime Date { get; set; } // Дата посещаемости
|
||||||
public DateOnly AttendanceDate { get; set; }
|
public int GroupID { get; set; } // ID группы
|
||||||
public int LessonId { get; set; }
|
public List<bool> Lessons { get; set; } // Список посещаемости по занятиям
|
||||||
|
|
||||||
|
// Конструктор класса
|
||||||
|
public Presence(Guid userId, DateTime date, int groupId, List<bool> lessons)
|
||||||
|
{
|
||||||
|
UserId = userId;
|
||||||
|
Date = date;
|
||||||
|
GroupID = groupId;
|
||||||
|
Lessons = lessons;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ namespace Demo.Domain.Models
|
|||||||
public string FullName { get; set; } = string.Empty;
|
public string FullName { get; set; } = string.Empty;
|
||||||
public ClassGroup ClassGroup { get; set; } = new ClassGroup();
|
public ClassGroup ClassGroup { get; set; } = new ClassGroup();
|
||||||
public int ClassId { get; set; }
|
public int ClassId { get; set; }
|
||||||
|
public Guid UserId { get; internal set; }
|
||||||
|
|
||||||
public static explicit operator User(Data.LocalData.Entity.LocalUser v)
|
public static explicit operator User(Data.LocalData.Entity.LocalUser v)
|
||||||
{
|
{
|
||||||
|
@ -1,16 +1,82 @@
|
|||||||
using Demo.Data.Repository;
|
using Demo.Data.Repository;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Demo.Domain.UseCases
|
namespace Demo.Domain.UseCases
|
||||||
{
|
{
|
||||||
public class GroupUseCase
|
public class GroupUseCase
|
||||||
{
|
{
|
||||||
private GroupRepositoryImpl _groupRepository;
|
private readonly IPresenceRepository _presenceRepository;
|
||||||
|
private readonly GroupRepositoryImpl _groupRepository; // Измените на GroupRepositoryImpl
|
||||||
|
|
||||||
public GroupUseCase(GroupRepositoryImpl groupRepository) // Конструктор
|
public GroupUseCase(GroupRepositoryImpl groupRepository, IPresenceRepository presenceRepository) // Конструктор
|
||||||
{
|
{
|
||||||
_groupRepository = groupRepository;
|
_groupRepository = groupRepository;
|
||||||
|
_presenceRepository = presenceRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Другие методы
|
// Метод для генерации посещаемости на текущий день
|
||||||
|
public List<LessonPresence> GeneratePresence(int firstLessonNumber, int lastLessonNumber, int groupId, DateTime currentDate)
|
||||||
|
{
|
||||||
|
var users = _groupRepository.GetUsersByGroup(groupId); // Получаем пользователей группы
|
||||||
|
List<LessonPresence> presenceList = new List<LessonPresence>();
|
||||||
|
|
||||||
|
foreach (var user in users)
|
||||||
|
{
|
||||||
|
var lessons = new List<bool>(new bool[lastLessonNumber - firstLessonNumber + 1]); // По умолчанию все посещены
|
||||||
|
var presence = new LessonPresence(user.Id, currentDate, groupId, lessons); // Измените на LessonPresence
|
||||||
|
presenceList.Add(presence);
|
||||||
|
}
|
||||||
|
|
||||||
|
return presenceList;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Метод для генерации посещаемости на неделю
|
||||||
|
public Dictionary<DateTime, List<LessonPresence>> GenerateWeeklyPresence(int firstLessonNumber, int lastLessonNumber, int groupId, DateTime startDate)
|
||||||
|
{
|
||||||
|
var weeklyPresence = new Dictionary<DateTime, List<LessonPresence>>();
|
||||||
|
|
||||||
|
for (int i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
var currentDate = startDate.AddDays(i);
|
||||||
|
var dailyPresence = GeneratePresence(firstLessonNumber, lastLessonNumber, groupId, currentDate);
|
||||||
|
weeklyPresence[currentDate] = dailyPresence;
|
||||||
|
}
|
||||||
|
|
||||||
|
return weeklyPresence;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Метод для вывода посещаемости по группе
|
||||||
|
public List<LessonPresence> GetPresenceByGroup(int groupId)
|
||||||
|
{
|
||||||
|
return _presenceRepository.GetPresenceByGroup(groupId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Метод для вывода посещаемости по группе по дате
|
||||||
|
public List<LessonPresence> GetPresenceByGroupAndDate(int groupId, DateTime date)
|
||||||
|
{
|
||||||
|
return _presenceRepository.GetPresenceByGroupAndDate(groupId, date);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Метод для отметки пользователя как отсутствующего
|
||||||
|
public void MarkUserAbsent(Guid userId, int groupId, DateTime date, List<int> lessonNumbers)
|
||||||
|
{
|
||||||
|
var presenceRecords = _presenceRepository.GetPresenceByGroupAndDate(groupId, date);
|
||||||
|
|
||||||
|
var presenceRecord = presenceRecords.FirstOrDefault(p => p.UserId == userId);
|
||||||
|
if (presenceRecord != null)
|
||||||
|
{
|
||||||
|
foreach (var lessonNumber in lessonNumbers)
|
||||||
|
{
|
||||||
|
if (lessonNumber >= 0 && lessonNumber < presenceRecord.Lessons.Count)
|
||||||
|
{
|
||||||
|
presenceRecord.Lessons[lessonNumber] = false; // Отмечаем как отсутствующего
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_presenceRepository.UpdatePresence(presenceRecord); // Обновляем запись в репозитории
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
47
Demo1/Domain/UseCase/PresenceUseCase.cs
Normal file
47
Demo1/Domain/UseCase/PresenceUseCase.cs
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Demo.Data.Repository;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
|
||||||
|
namespace Demo.Domain.UseCases
|
||||||
|
{
|
||||||
|
public class PresenceUseCase
|
||||||
|
{
|
||||||
|
private readonly IPresenceRepository _presenceRepository;
|
||||||
|
|
||||||
|
public PresenceUseCase(IPresenceRepository presenceRepository) // Конструктор
|
||||||
|
{
|
||||||
|
_presenceRepository = presenceRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void GeneratePresence(int groupNumber, DateTime date)
|
||||||
|
{
|
||||||
|
var users = _presenceRepository.GetUsersByGroup(groupNumber);
|
||||||
|
var presenceList = new List<LessonPresence>();
|
||||||
|
|
||||||
|
foreach (var user in users)
|
||||||
|
{
|
||||||
|
// Создаем список посещаемости, по умолчанию все отмечены как присутствующие
|
||||||
|
var lessons = new List<bool> { true, true, true }; // Пример, 3 занятия
|
||||||
|
presenceList.Add(new LessonPresence(user.UserId, date, groupNumber, lessons));
|
||||||
|
}
|
||||||
|
|
||||||
|
_presenceRepository.SavePresence(presenceList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LessonPresence> GetPresenceByGroup(int groupNumber)
|
||||||
|
{
|
||||||
|
return _presenceRepository.GetPresenceByGroup(groupNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LessonPresence> GetPresenceByGroupAndDate(int groupNumber, DateTime date)
|
||||||
|
{
|
||||||
|
return _presenceRepository.GetPresenceByGroupAndDate(groupNumber, date);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void MarkUserAbsent(Guid userId, int groupNumber, int lessonId, DateTime date)
|
||||||
|
{
|
||||||
|
_presenceRepository.MarkUserAbsent(userId, groupNumber, lessonId, date);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
30
Demo1/Domain/UseCase/UseCasePresence.cs
Normal file
30
Demo1/Domain/UseCase/UseCasePresence.cs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
using Demo.Data.LocalData.Entity;
|
||||||
|
using Demo.Domain.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Demo.Domain.UseCase
|
||||||
|
{
|
||||||
|
public class UseCasePresence
|
||||||
|
{
|
||||||
|
private List<StudentAttendance> _studentAttendances = new(); // Хранилище для посещаемости студентов
|
||||||
|
|
||||||
|
// Метод для добавления посещаемости по занятию
|
||||||
|
public void AddLessonAttendance(LocalUser student, DateTime attendanceDate, int lessonId, bool isPresent)
|
||||||
|
{
|
||||||
|
var studentAttendance = new StudentAttendance(student.Id, 1) // Замените на 1, так как это один урок
|
||||||
|
{
|
||||||
|
AttendanceDate = attendanceDate,
|
||||||
|
LessonId = lessonId,
|
||||||
|
IsPresent = isPresent
|
||||||
|
};
|
||||||
|
_studentAttendances.Add(studentAttendance);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Метод для получения посещаемости по занятию
|
||||||
|
public List<StudentAttendance> GetLessonAttendance(int lessonId)
|
||||||
|
{
|
||||||
|
return _studentAttendances.FindAll(sa => sa.LessonId == lessonId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
190
Demo1/Program.cs
190
Demo1/Program.cs
@ -24,6 +24,10 @@ namespace Demo
|
|||||||
Console.WriteLine("7. Обновить группу");
|
Console.WriteLine("7. Обновить группу");
|
||||||
Console.WriteLine("8. Удалить группу по ID");
|
Console.WriteLine("8. Удалить группу по ID");
|
||||||
Console.WriteLine("9. Найти группу по ID");
|
Console.WriteLine("9. Найти группу по ID");
|
||||||
|
Console.WriteLine("10. Генерация посещаемости на текущий день");
|
||||||
|
Console.WriteLine("11. Генерация посещаемости на неделю");
|
||||||
|
Console.WriteLine("12. Показать посещаемость по группе и дате");
|
||||||
|
Console.WriteLine("13. Отметить пользователя как отсутствующего");
|
||||||
Console.WriteLine("0. Выход");
|
Console.WriteLine("0. Выход");
|
||||||
Console.Write("Выберите опцию: ");
|
Console.Write("Выберите опцию: ");
|
||||||
|
|
||||||
@ -31,36 +35,20 @@ namespace Demo
|
|||||||
|
|
||||||
switch (choice)
|
switch (choice)
|
||||||
{
|
{
|
||||||
case "1":
|
case "1": ShowUsers(); break;
|
||||||
ShowUsers();
|
case "2": DeleteUserByGuid(); break;
|
||||||
break;
|
case "3": UpdateUser(); break;
|
||||||
case "2":
|
case "4": FindUserByGuid(); break;
|
||||||
DeleteUserByGuid();
|
case "5": ShowGroups(); break;
|
||||||
break;
|
case "6": AddGroup(); break;
|
||||||
case "3":
|
case "7": UpdateGroup(); break;
|
||||||
UpdateUser();
|
case "8": DeleteGroupById(); break;
|
||||||
break;
|
case "9": FindGroupById(); break;
|
||||||
case "4":
|
case "10": GeneratePresenceForToday(); break;
|
||||||
FindUserByGuid();
|
case "11": GeneratePresenceForWeek(); break;
|
||||||
break;
|
case "12": ShowPresenceByGroupAndDate(); break;
|
||||||
case "5":
|
case "13": MarkUserAsAbsent(); break;
|
||||||
ShowGroups();
|
case "0": exit = true; break;
|
||||||
break;
|
|
||||||
case "6":
|
|
||||||
AddGroup();
|
|
||||||
break;
|
|
||||||
case "7":
|
|
||||||
UpdateGroup();
|
|
||||||
break;
|
|
||||||
case "8":
|
|
||||||
DeleteGroupById();
|
|
||||||
break;
|
|
||||||
case "9":
|
|
||||||
FindGroupById();
|
|
||||||
break;
|
|
||||||
case "0":
|
|
||||||
exit = true;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
Console.WriteLine("Неверный выбор. Нажмите любую клавишу для продолжения.");
|
Console.WriteLine("Неверный выбор. Нажмите любую клавишу для продолжения.");
|
||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
@ -237,5 +225,147 @@ namespace Demo
|
|||||||
Console.WriteLine("Нажмите любую клавишу для продолжения.");
|
Console.WriteLine("Нажмите любую клавишу для продолжения.");
|
||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void GeneratePresenceForToday()
|
||||||
|
{
|
||||||
|
Console.Clear();
|
||||||
|
Console.Write("Введите номер группы: ");
|
||||||
|
var groupIdInput = Console.ReadLine();
|
||||||
|
Console.Write("Введите номер первого занятия: ");
|
||||||
|
var firstLesson = int.Parse(Console.ReadLine());
|
||||||
|
Console.Write("Введите номер последнего занятия: ");
|
||||||
|
var lastLesson = int.Parse(Console.ReadLine());
|
||||||
|
|
||||||
|
var currentDate = DateTime.Now.Date;
|
||||||
|
|
||||||
|
// Преобразуйте groupIdInput в int для сравнения
|
||||||
|
if (int.TryParse(groupIdInput, out int groupId))
|
||||||
|
{
|
||||||
|
// Получите идентификатор пользователя
|
||||||
|
var user = LocalStaticData.Users.FirstOrDefault(u => u.GroupID == groupId);
|
||||||
|
var userId = user != null ? user.Id : Guid.NewGuid(); // Если пользователь не найден, создайте новый идентификатор
|
||||||
|
|
||||||
|
// Создание посещаемости с параметрами
|
||||||
|
var presence = new Presence(userId, currentDate, groupId, Enumerable.Range(firstLesson, lastLesson - firstLesson + 1).Select(lesson => true).ToList());
|
||||||
|
|
||||||
|
LocalStaticData.Presences.Add(presence);
|
||||||
|
Console.WriteLine("Посещаемость сгенерирована для сегодняшнего дня.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Некорректный ввод номера группы.");
|
||||||
|
}
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void GeneratePresenceForWeek()
|
||||||
|
{
|
||||||
|
Console.Clear();
|
||||||
|
Console.Write("Введите номер группы: ");
|
||||||
|
var groupIdInput = Console.ReadLine();
|
||||||
|
Console.Write("Введите номер первого занятия: ");
|
||||||
|
var firstLesson = int.Parse(Console.ReadLine());
|
||||||
|
Console.Write("Введите номер последнего занятия: ");
|
||||||
|
var lastLesson = int.Parse(Console.ReadLine());
|
||||||
|
|
||||||
|
var startDate = DateTime.Now.Date;
|
||||||
|
|
||||||
|
// Преобразуйте groupIdInput в int для сравнения
|
||||||
|
if (int.TryParse(groupIdInput, out int groupId))
|
||||||
|
{
|
||||||
|
// Получите идентификатор пользователя
|
||||||
|
var user = LocalStaticData.Users.FirstOrDefault(u => u.GroupID == groupId);
|
||||||
|
var userId = user != null ? user.Id : Guid.NewGuid(); // Если пользователь не найден, создайте новый идентификатор
|
||||||
|
|
||||||
|
for (int i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
var currentDate = startDate.AddDays(i);
|
||||||
|
// Создание посещаемости с параметрами
|
||||||
|
var presence = new Presence(userId, currentDate, groupId, Enumerable.Range(firstLesson, lastLesson - firstLesson + 1).Select(lesson => true).ToList());
|
||||||
|
LocalStaticData.Presences.Add(presence);
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Посещаемость сгенерирована на текущую неделю.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Некорректный ввод номера группы.");
|
||||||
|
}
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ShowPresenceByGroupAndDate()
|
||||||
|
{
|
||||||
|
Console.Clear();
|
||||||
|
Console.Write("Введите номер группы: ");
|
||||||
|
var groupId = Console.ReadLine();
|
||||||
|
Console.Write("Введите дату (yyyy-MM-dd): ");
|
||||||
|
if (DateTime.TryParse(Console.ReadLine(), out DateTime date))
|
||||||
|
{
|
||||||
|
var presence = LocalStaticData.Presences.FirstOrDefault(p => p.GroupID == int.Parse(groupId) && p.Date.Date == date);
|
||||||
|
if (presence != null)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Посещаемость для группы {groupId} на {date.ToShortDateString()}:");
|
||||||
|
for (int i = 0; i < presence.Lessons.Count; i++)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Занятие {i + 1}: {(presence.Lessons[i] ? "Присутствует" : "Отсутствует")}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Посещаемость не найдена.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный формат даты.");
|
||||||
|
}
|
||||||
|
Console.WriteLine("Нажмите любую клавишу для продолжения.");
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MarkUserAsAbsent()
|
||||||
|
{
|
||||||
|
Console.Clear();
|
||||||
|
Console.Write("Введите номер группы: ");
|
||||||
|
var groupId = Console.ReadLine();
|
||||||
|
Console.Write("Введите дату (yyyy-MM-dd): ");
|
||||||
|
if (DateTime.TryParse(Console.ReadLine(), out DateTime date))
|
||||||
|
{
|
||||||
|
Console.Write("Введите GUID пользователя для отметки отсутствия: ");
|
||||||
|
if (Guid.TryParse(Console.ReadLine(), out Guid userId))
|
||||||
|
{
|
||||||
|
var presence = LocalStaticData.Presences.FirstOrDefault(p => p.GroupID == int.Parse(groupId) && p.Date.Date == date);
|
||||||
|
if (presence != null)
|
||||||
|
{
|
||||||
|
// Поиск занятия пользователя
|
||||||
|
var userIndex = LocalStaticData.Users.FindIndex(u => u.Id == userId && u.GroupID.ToString() == groupId);
|
||||||
|
if (userIndex >= 0)
|
||||||
|
{
|
||||||
|
presence.Lessons[userIndex] = false;
|
||||||
|
Console.WriteLine("Пользователь отмечен как отсутствующий.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Пользователь не найден в этой группе.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Посещаемость не найдена.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный формат GUID.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Неверный формат даты.");
|
||||||
|
}
|
||||||
|
Console.WriteLine("Нажмите любую клавишу для продолжения.");
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+df8314a5edf631ad091dc7bfca86e0f6f5c724cb")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyProductAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
@ -1 +1 @@
|
|||||||
5fbaf1fba7321e7781b2aa403ef801043346e052a9547caf8ba08c3ad840adff
|
221e0c768b0d742a8ba97ec496228ed7816062bae551ae6dca0fa140cf72a07e
|
||||||
|
@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly =
|
|||||||
build_property.EnforceExtendedAnalyzerRules =
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
build_property.RootNamespace = Demo1
|
build_property.RootNamespace = Demo1
|
||||||
build_property.ProjectDir = C:\Users\Наиль\source\repos\Demo1\Demo1\
|
build_property.ProjectDir = C:\Users\class_Student\Source\Repos\slarny4\Demo1\
|
||||||
build_property.EnableComHosting =
|
build_property.EnableComHosting =
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
7e72cf7cbdf57e2c918583bbca5eac209a31da85ce462b230f074698e104f9b7
|
1d50d3593a629a5dd88b49d245e89f299208f24874e2084a9b532f66739617bd
|
||||||
|
@ -12,3 +12,17 @@ C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\refint\Demo1.dll
|
|||||||
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\Demo1.pdb
|
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\Demo1.pdb
|
||||||
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\Demo1.genruntimeconfig.cache
|
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\Demo1.genruntimeconfig.cache
|
||||||
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\ref\Demo1.dll
|
C:\Users\Наиль\source\repos\Demo1\Demo1\obj\Debug\net8.0\ref\Demo1.dll
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.AssemblyInfo.cs
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.dll
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\refint\Demo1.dll
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.pdb
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.exe
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.deps.json
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.runtimeconfig.json
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.dll
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\bin\Debug\net8.0\Demo1.pdb
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\Demo1.genruntimeconfig.cache
|
||||||
|
C:\Users\class_Student\Source\Repos\slarny4\Demo1\obj\Debug\net8.0\ref\Demo1.dll
|
||||||
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
c64df823fc400ff5eb349579152f2d629fb693f3d8cd5be1e9a479774d096f64
|
efacd2456a8517402d3b53b9ec65ae943b078068dce16d9c1e2c139cbb2efa47
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,23 +1,23 @@
|
|||||||
{
|
{
|
||||||
"format": 1,
|
"format": 1,
|
||||||
"restore": {
|
"restore": {
|
||||||
"C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj": {}
|
"C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj": {}
|
||||||
},
|
},
|
||||||
"projects": {
|
"projects": {
|
||||||
"C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj": {
|
"C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"restore": {
|
"restore": {
|
||||||
"projectUniqueName": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj",
|
"projectUniqueName": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj",
|
||||||
"projectName": "Demo1",
|
"projectName": "Demo1",
|
||||||
"projectPath": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj",
|
"projectPath": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj",
|
||||||
"packagesPath": "C:\\Users\\Наиль\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\class_Student\\.nuget\\packages\\",
|
||||||
"outputPath": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\obj\\",
|
"outputPath": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\obj\\",
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
"fallbackFolders": [
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
],
|
],
|
||||||
"configFilePaths": [
|
"configFilePaths": [
|
||||||
"C:\\Users\\Наиль\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
"C:\\Users\\class_Student\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
@ -26,6 +26,7 @@
|
|||||||
],
|
],
|
||||||
"sources": {
|
"sources": {
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
@ -64,7 +65,7 @@
|
|||||||
"privateAssets": "all"
|
"privateAssets": "all"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json"
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Наиль\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\class_Student\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<SourceRoot Include="C:\Users\Наиль\.nuget\packages\" />
|
<SourceRoot Include="C:\Users\class_Student\.nuget\packages\" />
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -8,23 +8,23 @@
|
|||||||
"net8.0": []
|
"net8.0": []
|
||||||
},
|
},
|
||||||
"packageFolders": {
|
"packageFolders": {
|
||||||
"C:\\Users\\Наиль\\.nuget\\packages\\": {},
|
"C:\\Users\\class_Student\\.nuget\\packages\\": {},
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||||
},
|
},
|
||||||
"project": {
|
"project": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"restore": {
|
"restore": {
|
||||||
"projectUniqueName": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj",
|
"projectUniqueName": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj",
|
||||||
"projectName": "Demo1",
|
"projectName": "Demo1",
|
||||||
"projectPath": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj",
|
"projectPath": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj",
|
||||||
"packagesPath": "C:\\Users\\Наиль\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\class_Student\\.nuget\\packages\\",
|
||||||
"outputPath": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\obj\\",
|
"outputPath": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\obj\\",
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
"fallbackFolders": [
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
],
|
],
|
||||||
"configFilePaths": [
|
"configFilePaths": [
|
||||||
"C:\\Users\\Наиль\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
"C:\\Users\\class_Student\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
@ -33,6 +33,7 @@
|
|||||||
],
|
],
|
||||||
"sources": {
|
"sources": {
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
@ -71,7 +72,7 @@
|
|||||||
"privateAssets": "all"
|
"privateAssets": "all"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json"
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"version": 2,
|
"version": 2,
|
||||||
"dgSpecHash": "3rJkBUv8GeU=",
|
"dgSpecHash": "w2AQ9bufhayfzTHCnl2ow9D2CtoWJ4HAqBkDoNcbSKD2lmZQ/k0JRgy5fID2BknPulzXAnFoyjXkQhKMewdlLQ==",
|
||||||
"success": true,
|
"success": true,
|
||||||
"projectFilePath": "C:\\Users\\Наиль\\source\\repos\\Demo1\\Demo1\\Demo1.csproj",
|
"projectFilePath": "C:\\Users\\class_Student\\Source\\Repos\\slarny4\\Demo1\\Demo1.csproj",
|
||||||
"expectedPackageFiles": [],
|
"expectedPackageFiles": [],
|
||||||
"logs": []
|
"logs": []
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user