From 5f424596e2b0fa84375965a237d76913c98a016f Mon Sep 17 00:00:00 2001 From: adm Date: Thu, 31 Oct 2024 14:48:30 +0300 Subject: [PATCH 1/3] init --- .../RemoteData/RemoteDataBase/DAO/Presence.cs | 1 - .../RemoteData/RemoteDataBase/DAO/User.cs | 2 +- .../RemoteDataBase/RemoteDatabaseContext.cs | 2 +- Demo/Data/Repository/SQLPresenceRepository.cs | 23 ++-- Demo/Domain/Models/Presence.cs | 1 - .../Domain/UseCase/UseCaseGeneratePresence.cs | 51 ++++++--- Demo/Domain/UseCase/UserUseCase.cs | 56 +++++----- Demo/UI/MainMenu.cs | 26 ++--- Demo/UI/UserConsole.cs | 34 +++--- Demo/bin/Debug/net8.0/Demo.dll | Bin 58368 -> 57856 bytes Demo/bin/Debug/net8.0/Demo.exe | Bin 138752 -> 138752 bytes Demo/bin/Debug/net8.0/Demo.pdb | Bin 28376 -> 27984 bytes Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs | 2 +- .../net8.0/Demo.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- Demo/obj/Debug/net8.0/Demo.assets.cache | Bin 36250 -> 35984 bytes .../Demo.csproj.AssemblyReference.cache | Bin 9169 -> 9112 bytes .../Demo.csproj.CoreCompileInputs.cache | 2 +- .../net8.0/Demo.csproj.FileListAbsolute.txt | 98 ++++++++++++++++++ Demo/obj/Debug/net8.0/Demo.dll | Bin 58368 -> 57856 bytes .../Debug/net8.0/Demo.genruntimeconfig.cache | 2 +- Demo/obj/Debug/net8.0/Demo.pdb | Bin 28376 -> 27984 bytes Demo/obj/Debug/net8.0/apphost.exe | Bin 138752 -> 138752 bytes Demo/obj/Debug/net8.0/ref/Demo.dll | Bin 17920 -> 17920 bytes Demo/obj/Debug/net8.0/refint/Demo.dll | Bin 17920 -> 17920 bytes Demo/obj/Demo.csproj.nuget.dgspec.json | 16 +-- Demo/obj/Demo.csproj.nuget.g.props | 8 +- Demo/obj/project.assets.json | 14 +-- Demo/obj/project.nuget.cache | 80 +++++++------- 29 files changed, 269 insertions(+), 153 deletions(-) diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs index 9df8139..9ae499b 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -12,7 +12,6 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO public bool IsAttedance { get; set; } = true; public DateOnly Date { get; set; } public int LessonNumber { get; set; } - public UserDao UserDao { get; set; } public int GroupId { get; set; } } } diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs index 3f1d898..24dd124 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs @@ -9,7 +9,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO public class UserDao { public required string FIO { get; set; } - public int UserId { get; set; } + public required int UserId { get; set; } public required int GroupId { get; set; } public GroupDao Group { get; set; } } diff --git a/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs index e2b6400..e3cf70f 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -18,7 +18,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseNpgsql("Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=123"); + optionsBuilder.UseNpgsql("Host=localhost;Port=5432;Database=presencedb;Username=postgres;Password=123;Include Error Detail=True;"); } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/Demo/Data/Repository/SQLPresenceRepository.cs b/Demo/Data/Repository/SQLPresenceRepository.cs index 2440b30..bab77ab 100644 --- a/Demo/Data/Repository/SQLPresenceRepository.cs +++ b/Demo/Data/Repository/SQLPresenceRepository.cs @@ -37,22 +37,15 @@ namespace Demo.Data.Repository public void SavePresence(List presences) { - foreach (var presence in presences) + _remoteDatabaseContext.PresenceDaos.AddRange(presences.Select(it => new PresenceDao { - var existingPresence = _remoteDatabaseContext.PresenceDaos.FirstOrDefault(p => - p.UserId == presence.UserId && - p.Date == presence.Date && - p.LessonNumber == presence.LessonNumber); - - if (existingPresence == null) - { - _remoteDatabaseContext.PresenceDaos.Add(presence); - } - else - { - existingPresence.IsAttedance = presence.IsAttedance; - } - } + Date = it.Date, + IsAttedance = it.IsAttedance, + LessonNumber = it.LessonNumber, + UserId = it.UserId + })); + _remoteDatabaseContext.SaveChanges(); } + } } diff --git a/Demo/Domain/Models/Presence.cs b/Demo/Domain/Models/Presence.cs index 5561dfe..110a364 100644 --- a/Demo/Domain/Models/Presence.cs +++ b/Demo/Domain/Models/Presence.cs @@ -13,7 +13,6 @@ namespace Demo.domain.Models public required int GroupId { get; set; } public bool IsAttedance { get; set; } = true; public required DateTime Date { get; set; } - public required int LessonNumber { get; set; } } } diff --git a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs index 393ebb7..4320e66 100644 --- a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs +++ b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs @@ -30,25 +30,52 @@ namespace Demo.Domain.UseCase public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId, DateTime currentDate) { - var users = _userRepository.GetAllUsers.Where(u => u.GroupId == groupId).ToList(); - List presences = new List(); - for (int lessonNumber = firstLesson; lessonNumber <= lastLesson; lessonNumber++) + try { - foreach (var user in users) + var users = _userRepository.GetAllUsers.Where(u => u.GroupId == groupId).ToList(); + + List presences = new List(); + for (int lessonNumber = firstLesson; lessonNumber <= lastLesson; lessonNumber++) { - presences.Add(new PresenceDao + foreach (var user in users) { - UserId = user.UserId, - GroupId = user.GroupId, - Date = DateOnly.FromDateTime(currentDate), - LessonNumber = lessonNumber, - IsAttedance = true - }); + Console.WriteLine($"UserId: {user.UserId}, GroupId: {user.GroupId}"); // Выводим информацию о пользователе + var presence = new PresenceDao + { + UserId = user.UserId, + GroupId = user.GroupId, + Date = DateOnly.FromDateTime(currentDate), + LessonNumber = lessonNumber, + IsAttedance = true + }; + + try + { + _presenceRepository.SavePresence(new List { presence }); + Console.WriteLine($"Посещаемость добавлена для UserId = {user.UserId}, LessonNumber = {lessonNumber}"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при добавлении посещаемости для UserId = {user.UserId}: {ex.Message}"); + if (ex.InnerException != null) + { + Console.WriteLine($"Inner exception: {ex.InnerException.Message}"); + } + } + } + } + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка при генерации посещаемости: {ex.Message}"); + if (ex.InnerException != null) + { + Console.WriteLine($"Inner exception: {ex.InnerException.Message}"); } - _presenceRepository.SavePresence(presences); } } + public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime) { for (int i = 0; i < 7; i++) diff --git a/Demo/Domain/UseCase/UserUseCase.cs b/Demo/Domain/UseCase/UserUseCase.cs index 0759971..3cb1c84 100644 --- a/Demo/Domain/UseCase/UserUseCase.cs +++ b/Demo/Domain/UseCase/UserUseCase.cs @@ -56,9 +56,9 @@ namespace Demo.Domain.UseCase // Вывести всех пользователей public List GetAllUsers() => _repositoryUserImpl.GetAllUsers .Join(_repositoryGroupImpl.GetAllGroups(), - user => user.GroupId, - group => group.Id, - (user, group) => + user => user.GroupId, // Ключ для пользователей + group => group.Id, // Ключ для групп + (user, group) => // Результирующий объект new User { ID = user.UserId, @@ -86,36 +86,36 @@ namespace Demo.Domain.UseCase } // Обновить пользователя по id - public User UpdateUser(User user) - { - ValidateUserFIO(user.FIO); - ValidateGroupExistence(user.Group.Id); + //public User UpdateUser(User user) + //{ + // ValidateUserFIO(user.FIO); + // ValidateGroupExistence(user.Group.Id); - UserDao userDao = new UserDao - { - FIO = user.FIO, - GroupId = user.Group.Id - }; + // UserDao userDao = new UserDao + // { + // FIO = user.FIO, + // GroupId = user.Group.Id + // }; - UserDao? result = _repositoryUserImpl.UpdateUser(userDao); + // UserDao? result = _repositoryUserImpl.UpdateUser(userDao); - if (result == null) - { - throw new Exception("Ошибка при обновлении пользователя."); - } + // if (result == null) + // { + // throw new Exception("Ошибка при обновлении пользователя."); + // } - var groupEntity = ValidateGroupExistence(result.GroupId); + // var groupEntity = ValidateGroupExistence(result.GroupId); - return new User - { - FIO = result.FIO, - Group = new Group - { - Id = groupEntity.Id, - Name = groupEntity.Name - } - }; - } + // return new User + // { + // FIO = result.FIO, + // Group = new Group + // { + // Id = groupEntity.Id, + // Name = groupEntity.Name + // } + // }; + //} // Найти пользователя по id public User FindUserById(int userId) diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs index 46afea7..2bd2018 100644 --- a/Demo/UI/MainMenu.cs +++ b/Demo/UI/MainMenu.cs @@ -71,19 +71,19 @@ namespace Demo.UI } break; - case "3": - // Обновление пользователя по ID - Console.Write("Введите ID пользователя для обновления: "); - string updateIdInput = Console.ReadLine(); - if (int.TryParse(updateIdInput, out int updateUserId)) - { - _userConsoleUI.UpdateUserById(updateUserId); - } - else - { - Console.WriteLine("Неверный формат ID"); - } - break; + //case "3": + // // Обновление пользователя по ID + // Console.Write("Введите ID пользователя для обновления: "); + // string updateIdInput = Console.ReadLine(); + // if (int.TryParse(updateIdInput, out int updateUserId)) + // { + // _userConsoleUI.UpdateUserById(updateUserId); + // } + // else + // { + // Console.WriteLine("Неверный формат ID"); + // } + // break; case "4": // Поиск пользователя по ID diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs index 0c3e601..21092e0 100644 --- a/Demo/UI/UserConsole.cs +++ b/Demo/UI/UserConsole.cs @@ -36,26 +36,26 @@ namespace Demo.UI } // Метод для обновления пользователя по ID - public void UpdateUserById(int userId) - { - try - { - var user = _userUseCase.FindUserById(userId); + //public void UpdateUserById(int userId) + //{ + // try + // { + // var user = _userUseCase.FindUserById(userId); - Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); - Console.Write("\nВведите новое ФИО: "); - string newFIO = Console.ReadLine(); + // Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); + // Console.Write("\nВведите новое ФИО: "); + // string newFIO = Console.ReadLine(); - user.FIO = newFIO; - _userUseCase.UpdateUser(user); + // user.FIO = newFIO; + // _userUseCase.UpdateUser(user); - Console.WriteLine("\nПользователь обновлен.\n"); - } - catch (Exception ex) - { - Console.WriteLine($"Ошибка: {ex.Message}\n"); - } - } + // Console.WriteLine("\nПользователь обновлен.\n"); + // } + // catch (Exception ex) + // { + // Console.WriteLine($"Ошибка: {ex.Message}\n"); + // } + //} // Метод для поиска пользователя по ID public void FindUserById(int userId) diff --git a/Demo/bin/Debug/net8.0/Demo.dll b/Demo/bin/Debug/net8.0/Demo.dll index 5dc174177200ec2338bbbc3355104b2d5aee2a99..fd50f629de542708e326a4668b429f3c1bb62be2 100644 GIT binary patch literal 57856 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

A7We{LWt-tPkt|Al9nPb>zB6@w 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 diff --git a/Demo/bin/Debug/net8.0/Demo.exe b/Demo/bin/Debug/net8.0/Demo.exe index 5ec37d07496eaf7eca91d797b102996317a42401..1bc7e2b1b6ce7350d709318a6afe39ff97c55306 100644 GIT binary patch delta 2712 zcmZuz4OCRe6`uQ+6^arxhzbfyqZLKvC;S=mBY}mbE{L#%L}SguK46<=-{$RG1vO$M zQ4Gb1Q`vZq@dy~IF#`Hb*H9xwNHkU~Y7HvJSc(d+3fPlVf6{L6JhZhJ(uTb)d@Itv zy`jbiq)lf+`2wV^InxyR)|@b7Bkr?I`9;iDb;zXAnHoZj8%7aAYN}oP)mz$u=&M8g zXft?0ru;d?aa%otpqmDJgoBf2;MYOd;&-*&=rJ$QGf<4sR=pKSca}|nX!;;H&?gX0 z>8gA#N_? zPCV?5+S)4r)FL4L$HoIG*d(p?b_HvXCr_WI9N1;Mxz_UAVz+p(Fb6VTAJp0wGAu$0lK?su6I6e?4BrolJ+zu!U7u9{71M<2b%A4 z_Xp{B2NuF9I_qGJSIwZJG?Nw_42R{k=3oUpB~O(#95-}JF8FL6cr~~PN!z3$v};!a zo#pKCI(}2hSr`4mxevzB+QXf2nhKwP51Z+tmME{K{fb2ox~ZiSPRRa$NCmh`mmSeT zIsN1a9WPubq<{8)w|ihO5K`HNF@7p9{sI6l(d?toLpt4ZbTL%c_a23bzeHKLf5&dL z_+FduyAMY4olNhy=EhB7c79iZcB)6r{u`?L{B&=+fI6O&`Q^y+6UQmcIVXbs!OPQ`XjeHs!dzo5!#Nr@pM^d zGK`k%I%_?+`{$|V>>M~p#j`tMjXdt$Fo$MT-v$GO(VutM!Wr7podL6DzY9SCJ80y^ z#n2*`Uu*}+ps77CVtH=pNq|avtY;1)gFVl{C)DqjSo+et`d{4UcB9vsa?NEk zz)7mQvJ}3i%dbrI`uenz;i>Z4D<7yh_c`j@n+(-d-y0H~+KFLjZNjj7T$8ost0#G` zP-!bCYb(!TnlDk>tHZLp+Uo>0{qV0xpr7XSEyJRd`|bf8pr2mPgL%~V##Zj(H*)=r z0D!Udi~az3g?9I^jdPwr+sEEvQR$~!wdHSDu(!aLRX%>-Ag@8;5MNRKdtgSf-&^)Ko|_rKCFS4=;oVKL7?k-tsW4F!z_ziq#USnkK2pVh&74L8*8 z{6z|AIEZkXwGa-VckW078$gM3>_RvWu*-Qt2RT^mj(Hi-3LcI-8SpmRyLSk)H9y8wYXD-3&|Bs(4&gQm9fF#*=Ae z0ZAePDaK(U5_t}h2og`8#Su>mNIo&(h(S7^^ug3q0s91%S{L=dz(w;C7r=0X+%*F32BBDlf{_D+XTCq&*zeK74mZt5?0!hO(LH! z31Vq3A)QPwQxx(OjYg5T*$COjkaWRlH}hJ9#b`!l@)e|rJg+n5i3YKhTvzD?gYnT$ zQ-b{G9PhZmzigZ0G{q#^q!g2xS6FGFu}Hj_B$^~szQLT0o=t)U8!mH`VmF&J4N_5t zp_sX8Q1mnS5=A|iL@}8pyD0J&B}NwCZ~r$u#Y;6q9sajqT)%yyQR^=!Y$%3Bulr7V)g&W*Rh4GH&HpxGFsrBGjLWsJWAmRmWJp?$CrZ;6sf_x$rp@#reI=sM5f@0p4^{P>5|e7))5z)5@L1u z4naVgH>;)WQk%pV>rKUcqK#cPTah0;vLtho!7ABBK1o2EB@+1u!*qi1rrnxiw+Oe|qcCE10%WIoScSjdZyv1gyi#3MaS#rvu>3s$DVY+A)<>r6ID%hIM& zW6U|0mH1xp*zQ<%gv@-szz)g;Ftm*xSq760Yy45f_-9L<{a;UT150wCqiPs@W__#H zn{A0^vw)rB0$V@6UUHG`P*J&T((Pe}i~)OFQm*1uX`RBx>>sb5!L;k-71 zd#G9ztu!Onu%fU%@z}gr`-;QH#@bVaf)yyuES5xL%VUzP$wlHW0^6GbC0P3_Kwd0~ LbB0gm&T#(%tAy;) delta 2744 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 delta 14861 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 diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs index 643bc1b..b949f2b 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6d8c19351234da2add52da771bf06d55d3df6cad")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4aa192ee8817fa90eef0a643199a140baea5f367")] [assembly: System.Reflection.AssemblyProductAttribute("Demo")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache index 59e3697..f0a4fd0 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -1 +1 @@ -d7265b338b27fdfdb190863dec9fcea57549cd505f57822d2d846379358bebf3 +d0ff50a2b7329f08a99a7d850fd97c7e85ea6c3c244d5b7af843a712fd92af39 diff --git a/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig index fedaa45..5a949cb 100644 --- a/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig +++ b/Demo/obj/Debug/net8.0/Demo.GeneratedMSBuildEditorConfig.editorconfig @@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Demo -build_property.ProjectDir = C:\Users\sokol\Source\Repos\presence123\Demo\ +build_property.ProjectDir = C:\Users\adm\Source\Repos\presence\Demo\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Demo/obj/Debug/net8.0/Demo.assets.cache b/Demo/obj/Debug/net8.0/Demo.assets.cache index 5e10cd9694406732806808c652fd558943dcb759..5306c155a02cfce25a46ee210442342ce3e53297 100644 GIT binary patch delta 3439 zcmZ`+TToM16vZeACg(yV^(HZpT4JymC6-&$@C>3RJQ5-{nn(~RI>jO{Qy)Mfras2f zQ3-o2Q>Y#6M}Mp{O!;Z2FY&8me`u%uXggD(Kb<<`h{caObjIc+rSYD#`N+>+YwdH+ zUgzF*Gd`ghd0$cHt#wwaQc_ZUKWhFs^Z4g0kDo5qnXLZ@owf2y3ol(Z2_PDY) zT|+wL%PF=&iM|jP(v9pMqxw^E(PRcMqQml$UZ#~9mJU?Fr|S%)LWW#1h~P2kfGCY* zh(WsHrZS&&%Bu6qljKcVC9>5C;o4lds}hA_`S~8HM%ii1>}iOxMKHRRaGWTo*9*U; zksMjWryAXgKJS2w&xtF0T?5UcQcv%)BKD(q74o+lfQO=pdwzmF zUDE3kDAI|z-(l3}z3hIX`pX=Vdb< zf>8^%awLS2Rgq+z%0(EX#t=aW`0?lRuw7;rCiOEWY=yaJ7{i+-66RL$mm2>caKMZ)K651)S^0HB zME)?*=Zre!D6qhjd!4+MovZ758q zPvN{*P?%1i!t3mkFwP%&(tZisac1Er=qa+ouf=H7x&PohC6e#~-_&0^jFsv1=~l+e zBw<9ZqDf&bAHvF66=-<@FV8wq_EaTW9@&MKd#cc~clVG0$iDYP_kR&0dD>R~Rg55xVM3N*8u_`Du~f>Hh#t1^h)(j5~C1`>=w}ZXN0-v{9;BtmhI7tddY<9S`%N_^BUNe9*(?~Z? z-ma*tSWaM!HW=1_$h@sZRwB`j>>S2E1fX+^k+&0V;4>NE{+0~hZZyMNTa9$16T1;$ z?8HI%#AxK~#5jGejeV$rzf4BnJ{)6=74N}rx-_+ZB7Ui_b2AtuybJA|J?P}@Kn|GA zM%ErIqF0F#;2l`1%Z-j?!rT)k@NbitkkR@Sq`<<4tXjfMYOyOt{n*N;R_C*+zRDEU zWn)o4WoC?tDcX(4C3K8&<+-M9i7R`U3i$=>f`X+f<-+Zf5TQSe=4gu+LQ^@(hTh@A ztVzhVLPO<@6fK(dkuca=cZ`3cZh z#R^Kk%4A9pzb=;}2{J)QR8WhFQ}joUpC0@+$pefRtt(Mb$S+6~eM<=xES(bGWVhdv z7-oK|k5grm0@fO@sN*R~IM336U5q3UM~5$pgo;iyVhz1hLhr;Bx%`=Ww#%N?R>$1^(l3;DE=;Ff%VgcDuwg zGaXT{4t{JG5$Vja|NSYH1H8;PX<{iYrJUyT+;wQ7!az zJJ3F&mX+>hrd{&(cv)6y49vX_)JKQ}d*`Wwg1xzr)fYjN1lGH^0Iv5PrA^=J}WMIceRo_JRIMPx# diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache b/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache index 5533750cdd37b23d345781bc40938e28a3c77b78..06f7d0096eed2b57945df16147a64bcf1dcb36cf 100644 GIT binary patch delta 792 zcmccUKEqvvjggOmfq^m4*(xTqIJKxaCNU*<@pNTN zgB9q56clpHY+}r3qVJH{1V&uCCNT<4UdzP0c>{AfBVP+P-NKX8SXYYm;4@)! zC|e!lG%n--wO%~)>Gx?Z+FqmJ+t+$z(v!0Q+63uNV#2T@hy19^hHY49ebjPSq zcIT6vEX$!WIiFv0@?73*v6)!40|P^Svpe4mM!sfrBh)7E6B3@RAuvy@8<$qFlFj0R zg^YZ2v1z{{wiKUMg~l_vWOD@=aNynXT~kzU?xG@q+Yt`lRQyj!$Qv=~Rk zsBNwjOF#}&h!$Q+-pTib)F(HHvrpEP;su5R*W_G@Xr!#E zPGICM#Bi#j>@?9zoX-3ro5{#)kD@6@zEIR1s|I}~@y*-{x{SPaC>lHz&x^HT4b{#1 HN{bi)Q}p;|GEUwl&dmx7YqiM>goG#a3Cx?kofNB&rUlHzRiOrSc4j*c?*G{ z7To+)q5-?j3DWG7=S$(U85~s!(g}?G#aLYaS!SAeHBMK9^&XMUWaM{5(<`VbJ~>c6 kO578>-pvQ(T^I!#&;wgg@w`L_j)0zgKwf+^uTnQ70G6#NlK=n! diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache index da0697e..bc52d93 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -b74e8cd37e3d75b4852913dbcfdd32ab1ebce041b1f20cdb3236fba5980496f8 +30504035d845e5616feb21a777025026c55555e88052b83a111a265004d6549d diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt index cc88a37..5189b86 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt +++ b/Demo/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt @@ -222,3 +222,101 @@ C:\Users\sokol\source\repos\presence123\Demo\obj\Debug\net8.0\refint\Demo.dll C:\Users\sokol\source\repos\presence123\Demo\obj\Debug\net8.0\Demo.pdb C:\Users\sokol\source\repos\presence123\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache C:\Users\sokol\source\repos\presence123\Demo\obj\Debug\net8.0\ref\Demo.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.exe +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.deps.json +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.runtimeconfig.json +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Demo.pdb +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Humanizer.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Bcl.AsyncInterfaces.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.CSharp.Workspaces.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.CodeAnalysis.Workspaces.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Abstractions.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Design.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.EntityFrameworkCore.Relational.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Abstractions.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Caching.Memory.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Abstractions.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.DependencyModel.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Options.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Microsoft.Extensions.Primitives.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Mono.TextTemplating.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Npgsql.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\Npgsql.EntityFrameworkCore.PostgreSQL.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.CodeDom.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.AttributedModel.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Convention.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Hosting.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.Runtime.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.Composition.TypedParts.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\System.IO.Pipelines.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\de\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\es\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\it\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\bin\Debug\net8.0\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.AssemblyReference.cache +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfoInputs.cache +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.AssemblyInfo.cs +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.CoreCompileInputs.cache +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.csproj.Up2Date +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.dll +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\refint\Demo.dll +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.pdb +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\Demo.genruntimeconfig.cache +C:\Users\adm\Source\Repos\presence\Demo\obj\Debug\net8.0\ref\Demo.dll diff --git a/Demo/obj/Debug/net8.0/Demo.dll b/Demo/obj/Debug/net8.0/Demo.dll index 5dc174177200ec2338bbbc3355104b2d5aee2a99..fd50f629de542708e326a4668b429f3c1bb62be2 100644 GIT binary patch literal 57856 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

A7We{LWt-tPkt|Al9nPb>zB6@w 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 diff --git a/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache b/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache index eed578b..72e241e 100644 --- a/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache +++ b/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache @@ -1 +1 @@ -2ba2d99d6310b7ec801cf41e6531441c3e676004139cd180dab040422e702bb2 +8d7493d59976f54fd4618a2aa5dda91cb081e5f448046094a0d285a3f37d59f2 diff --git a/Demo/obj/Debug/net8.0/Demo.pdb b/Demo/obj/Debug/net8.0/Demo.pdb index d5d1922475eaec1334492f0db21b2b403fe13e56..4972a2446c6682798127dacaca57ae839be55eeb 100644 GIT binary patch delta 14652 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 delta 14861 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 diff --git a/Demo/obj/Debug/net8.0/apphost.exe b/Demo/obj/Debug/net8.0/apphost.exe index 5ec37d07496eaf7eca91d797b102996317a42401..1bc7e2b1b6ce7350d709318a6afe39ff97c55306 100644 GIT binary patch delta 2712 zcmZuz4OCRe6`uQ+6^arxhzbfyqZLKvC;S=mBY}mbE{L#%L}SguK46<=-{$RG1vO$M zQ4Gb1Q`vZq@dy~IF#`Hb*H9xwNHkU~Y7HvJSc(d+3fPlVf6{L6JhZhJ(uTb)d@Itv zy`jbiq)lf+`2wV^InxyR)|@b7Bkr?I`9;iDb;zXAnHoZj8%7aAYN}oP)mz$u=&M8g zXft?0ru;d?aa%otpqmDJgoBf2;MYOd;&-*&=rJ$QGf<4sR=pKSca}|nX!;;H&?gX0 z>8gA#N_? zPCV?5+S)4r)FL4L$HoIG*d(p?b_HvXCr_WI9N1;Mxz_UAVz+p(Fb6VTAJp0wGAu$0lK?su6I6e?4BrolJ+zu!U7u9{71M<2b%A4 z_Xp{B2NuF9I_qGJSIwZJG?Nw_42R{k=3oUpB~O(#95-}JF8FL6cr~~PN!z3$v};!a zo#pKCI(}2hSr`4mxevzB+QXf2nhKwP51Z+tmME{K{fb2ox~ZiSPRRa$NCmh`mmSeT zIsN1a9WPubq<{8)w|ihO5K`HNF@7p9{sI6l(d?toLpt4ZbTL%c_a23bzeHKLf5&dL z_+FduyAMY4olNhy=EhB7c79iZcB)6r{u`?L{B&=+fI6O&`Q^y+6UQmcIVXbs!OPQ`XjeHs!dzo5!#Nr@pM^d zGK`k%I%_?+`{$|V>>M~p#j`tMjXdt$Fo$MT-v$GO(VutM!Wr7podL6DzY9SCJ80y^ z#n2*`Uu*}+ps77CVtH=pNq|avtY;1)gFVl{C)DqjSo+et`d{4UcB9vsa?NEk zz)7mQvJ}3i%dbrI`uenz;i>Z4D<7yh_c`j@n+(-d-y0H~+KFLjZNjj7T$8ost0#G` zP-!bCYb(!TnlDk>tHZLp+Uo>0{qV0xpr7XSEyJRd`|bf8pr2mPgL%~V##Zj(H*)=r z0D!Udi~az3g?9I^jdPwr+sEEvQR$~!wdHSDu(!aLRX%>-Ag@8;5MNRKdtgSf-&^)Ko|_rKCFS4=;oVKL7?k-tsW4F!z_ziq#USnkK2pVh&74L8*8 z{6z|AIEZkXwGa-VckW078$gM3>_RvWu*-Qt2RT^mj(Hi-3LcI-8SpmRyLSk)H9y8wYXD-3&|Bs(4&gQm9fF#*=Ae z0ZAePDaK(U5_t}h2og`8#Su>mNIo&(h(S7^^ug3q0s91%S{L=dz(w;C7r=0X+%*F32BBDlf{_D+XTCq&*zeK74mZt5?0!hO(LH! z31Vq3A)QPwQxx(OjYg5T*$COjkaWRlH}hJ9#b`!l@)e|rJg+n5i3YKhTvzD?gYnT$ zQ-b{G9PhZmzigZ0G{q#^q!g2xS6FGFu}Hj_B$^~szQLT0o=t)U8!mH`VmF&J4N_5t zp_sX8Q1mnS5=A|iL@}8pyD0J&B}NwCZ~r$u#Y;6q9sajqT)%yyQR^=!Y$%3Bulr7V)g&W*Rh4GH&HpxGFsrBGjLWsJWAmRmWJp?$CrZ;6sf_x$rp@#reI=sM5f@0p4^{P>5|e7))5z)5@L1u z4naVgH>;)WQk%pV>rKUcqK#cPTah0;vLtho!7ABBK1o2EB@+1u!*qi1rrnxiw+Oe|qcCE10%WIoScSjdZyv1gyi#3MaS#rvu>3s$DVY+A)<>r6ID%hIM& zW6U|0mH1xp*zQ<%gv@-szz)g;Ftm*xSq760Yy45f_-9L<{a;UT150wCqiPs@W__#H zn{A0^vw)rB0$V@6UUHG`P*J&T((Pe}i~)OFQm*1uX`RBx>>sb5!L;k-71 zd#G9ztu!Onu%fU%@z}gr`-;QH#@bVaf)yyuES5xL%VUzP$wlHW0^6GbC0P3_Kwd0~ LbB0gm&T#(%tAy;) delta 2744 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 literal 17920 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 T|AKgN(LXAH_uKtPX5fDSx7~w_ diff --git a/Demo/obj/Debug/net8.0/refint/Demo.dll b/Demo/obj/Debug/net8.0/refint/Demo.dll index 0d6f97a023a178ab847110d9dead3db96b875e1c..37260fb30ed56391d6e48b59f42e828795769b9e 100644 GIT binary patch literal 17920 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 literal 17920 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 T|AKgN(LXAH_uKtPX5fDSx7~w_ diff --git a/Demo/obj/Demo.csproj.nuget.dgspec.json b/Demo/obj/Demo.csproj.nuget.dgspec.json index 4876b54..b0ce5fa 100644 --- a/Demo/obj/Demo.csproj.nuget.dgspec.json +++ b/Demo/obj/Demo.csproj.nuget.dgspec.json @@ -1,20 +1,20 @@ { "format": 1, "restore": { - "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj": {} + "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": {} }, "projects": { - "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj": { + "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj", + "projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectName": "Demo", - "projectPath": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj", - "packagesPath": "C:\\Users\\sokol\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\obj\\", + "projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", + "packagesPath": "C:\\Users\\adm\\.nuget\\packages\\", + "outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\sokol\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ @@ -80,7 +80,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json" } } } diff --git a/Demo/obj/Demo.csproj.nuget.g.props b/Demo/obj/Demo.csproj.nuget.g.props index 81cbdba..e338c45 100644 --- a/Demo/obj/Demo.csproj.nuget.g.props +++ b/Demo/obj/Demo.csproj.nuget.g.props @@ -5,18 +5,18 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\sokol\.nuget\packages\ + C:\Users\adm\.nuget\packages\ PackageReference - 6.11.1 + 6.11.0 - + - C:\Users\sokol\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 + C:\Users\adm\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 \ No newline at end of file diff --git a/Demo/obj/project.assets.json b/Demo/obj/project.assets.json index afedbd1..6adc685 100644 --- a/Demo/obj/project.assets.json +++ b/Demo/obj/project.assets.json @@ -2111,19 +2111,19 @@ ] }, "packageFolders": { - "C:\\Users\\sokol\\.nuget\\packages\\": {} + "C:\\Users\\adm\\.nuget\\packages\\": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj", + "projectUniqueName": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "projectName": "Demo", - "projectPath": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj", - "packagesPath": "C:\\Users\\sokol\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\obj\\", + "projectPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", + "packagesPath": "C:\\Users\\adm\\.nuget\\packages\\", + "outputPath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\sokol\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ @@ -2189,7 +2189,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json" } } } diff --git a/Demo/obj/project.nuget.cache b/Demo/obj/project.nuget.cache index ff354a8..ce4dfc2 100644 --- a/Demo/obj/project.nuget.cache +++ b/Demo/obj/project.nuget.cache @@ -1,47 +1,47 @@ { "version": 2, - "dgSpecHash": "U8P56hzRT2E=", + "dgSpecHash": "1jgLqgxs2pA=", "success": true, - "projectFilePath": "C:\\Users\\sokol\\Source\\Repos\\presence123\\Demo\\Demo.csproj", + "projectFilePath": "C:\\Users\\adm\\Source\\Repos\\presence\\Demo\\Demo.csproj", "expectedPackageFiles": [ - "C:\\Users\\sokol\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", - "C:\\Users\\sokol\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512" + "C:\\Users\\adm\\.nuget\\packages\\humanizer.core\\2.14.1\\humanizer.core.2.14.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.3.3\\microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.common\\4.5.0\\microsoft.codeanalysis.common.4.5.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.csharp\\4.5.0\\microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\4.5.0\\microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.codeanalysis.workspaces.common\\4.5.0\\microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore\\8.0.10\\microsoft.entityframeworkcore.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\8.0.10\\microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\8.0.10\\microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.design\\8.0.10\\microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\8.0.10\\microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.caching.memory\\8.0.1\\microsoft.extensions.caching.memory.8.0.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.dependencymodel\\8.0.2\\microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\mono.texttemplating\\2.2.1\\mono.texttemplating.2.2.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\npgsql\\8.0.5\\npgsql.8.0.5.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\8.0.10\\npgsql.entityframeworkcore.postgresql.8.0.10.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.codedom\\4.4.0\\system.codedom.4.4.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition\\6.0.0\\system.composition.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition.attributedmodel\\6.0.0\\system.composition.attributedmodel.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition.convention\\6.0.0\\system.composition.convention.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition.hosting\\6.0.0\\system.composition.hosting.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition.runtime\\6.0.0\\system.composition.runtime.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.composition.typedparts\\6.0.0\\system.composition.typedparts.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.reflection.metadata\\6.0.1\\system.reflection.metadata.6.0.1.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.text.encoding.codepages\\6.0.0\\system.text.encoding.codepages.6.0.0.nupkg.sha512", + "C:\\Users\\adm\\.nuget\\packages\\system.threading.channels\\6.0.0\\system.threading.channels.6.0.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file From 416f0914dcab20ac96a1e586066446e093e892c5 Mon Sep 17 00:00:00 2001 From: adm Date: Fri, 1 Nov 2024 12:42:31 +0300 Subject: [PATCH 2/3] init --- .../RemoteData/RemoteDataBase/DAO/Group.cs | 2 +- .../RemoteData/RemoteDataBase/DAO/Presence.cs | 1 + .../RemoteData/RemoteDataBase/DAO/User.cs | 2 +- .../RemoteDataBase/RemoteDatabaseContext.cs | 9 +-- Demo/Data/Repository/GroupRepositoryImpl.cs | 5 -- Demo/Data/Repository/IGroupRepository.cs | 1 - Demo/Data/Repository/IPresenceRepository.cs | 2 + Demo/Data/Repository/IUserRepository.cs | 2 +- .../Data/Repository/PresenceRepositoryImpl.cs | 2 + Demo/Data/Repository/SQLPresenceRepository.cs | 27 +++++-- Demo/Data/Repository/SQLUserRepositoryImpl.cs | 10 ++- Demo/Data/Repository/UserRepositoryImpl.cs | 11 --- Demo/Demo.csproj | 1 + Demo/Domain/UseCase/GroupUseCase.cs | 20 ----- .../Domain/UseCase/UseCaseGeneratePresence.cs | 31 +++++--- Demo/Domain/UseCase/UserUseCase.cs | 60 +++++++------- ...241101064613_InitialMigration.Designer.cs} | 32 +++----- ....cs => 20241101064613_InitialMigration.cs} | 46 +++++------ .../RemoteDatabaseContextModelSnapshot.cs | 28 +++---- Demo/UI/GroupConsole.cs | 7 -- Demo/UI/MainMenu.cs | 74 +++++++++--------- Demo/UI/PresenceConsole.cs | 70 ++++++++++------- Demo/UI/UserConsole.cs | 37 ++++----- Demo/bin/Debug/net8.0/Demo.dll | Bin 57856 -> 57856 bytes Demo/bin/Debug/net8.0/Demo.exe | Bin 138752 -> 138752 bytes Demo/bin/Debug/net8.0/Demo.pdb | Bin 27984 -> 28420 bytes Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs | 2 +- .../net8.0/Demo.AssemblyInfoInputs.cache | 2 +- .../Demo.csproj.CoreCompileInputs.cache | 2 +- Demo/obj/Debug/net8.0/Demo.dll | Bin 57856 -> 57856 bytes Demo/obj/Debug/net8.0/Demo.pdb | Bin 27984 -> 28420 bytes Demo/obj/Debug/net8.0/apphost.exe | Bin 138752 -> 138752 bytes Demo/obj/Debug/net8.0/ref/Demo.dll | Bin 17920 -> 17920 bytes Demo/obj/Debug/net8.0/refint/Demo.dll | Bin 17920 -> 17920 bytes 34 files changed, 232 insertions(+), 254 deletions(-) rename Demo/Migrations/{20241025085326_InitialCreate.Designer.cs => 20241101064613_InitialMigration.Designer.cs} (83%) rename Demo/Migrations/{20241025085326_InitialCreate.cs => 20241101064613_InitialMigration.cs} (79%) diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs index 45c2dd4..98dee11 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/Group.cs @@ -10,7 +10,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO public class GroupDao { public int Id { get; set; } - public required string Name { get; set; } + public string Name { get; set; } public List Users { get; set; } } } diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs index 9ae499b..fbb977f 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/Presence.cs @@ -8,6 +8,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO { public class PresenceDao { + public int PresenceId { get; set; } public int UserId { get; set; } public bool IsAttedance { get; set; } = true; public DateOnly Date { get; set; } diff --git a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs index 24dd124..6106b1b 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/DAO/User.cs @@ -11,6 +11,6 @@ namespace Demo.Data.RemoteData.RemoteDataBase.DAO public required string FIO { get; set; } public required int UserId { get; set; } public required int GroupId { get; set; } - public GroupDao Group { get; set; } + public GroupDao? Group { get; set; } } } diff --git a/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs index e3cf70f..31255d9 100644 --- a/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs +++ b/Demo/Data/RemoteData/RemoteDataBase/RemoteDatabaseContext.cs @@ -27,13 +27,8 @@ namespace Demo.Data.RemoteData.RemoteDataBase modelBuilder.Entity().Property(group => group.Id).ValueGeneratedOnAdd(); modelBuilder.Entity().HasKey(user=>user.UserId); modelBuilder.Entity().Property(user=>user.UserId).ValueGeneratedOnAdd(); - modelBuilder.Entity().HasKey(presence => new - { - presence.UserId, - presence.Date, - presence.IsAttedance, - presence.LessonNumber - }); + modelBuilder.Entity().HasKey(presence =>presence.PresenceId); + modelBuilder.Entity().Property(presence=>presence.PresenceId).ValueGeneratedOnAdd(); } } diff --git a/Demo/Data/Repository/GroupRepositoryImpl.cs b/Demo/Data/Repository/GroupRepositoryImpl.cs index 4c75bb6..546f993 100644 --- a/Demo/Data/Repository/GroupRepositoryImpl.cs +++ b/Demo/Data/Repository/GroupRepositoryImpl.cs @@ -53,11 +53,6 @@ public class GroupRepositoryImpl: IGroupRepository } } - bool IGroupRepository.RemoveGroupById(int groupID) - { - throw new NotImplementedException(); - } - List IGroupRepository.GetAllGroups() { throw new NotImplementedException(); diff --git a/Demo/Data/Repository/IGroupRepository.cs b/Demo/Data/Repository/IGroupRepository.cs index 6eb3ab3..d5f20ef 100644 --- a/Demo/Data/Repository/IGroupRepository.cs +++ b/Demo/Data/Repository/IGroupRepository.cs @@ -11,7 +11,6 @@ namespace Demo.Data.Repository public interface IGroupRepository { List GetAllGroups(); - bool RemoveGroupById(int groupID); bool UpdateGroupById(int groupID, GroupDao updatedGroup); GroupDao GetGroupById(int groupID); bool AddGroup(string Name); diff --git a/Demo/Data/Repository/IPresenceRepository.cs b/Demo/Data/Repository/IPresenceRepository.cs index 0415ab7..8709689 100644 --- a/Demo/Data/Repository/IPresenceRepository.cs +++ b/Demo/Data/Repository/IPresenceRepository.cs @@ -15,5 +15,7 @@ namespace Demo.Data.Repository List GetPresenceByDateAndGroup(DateTime date, int groupId); void SavePresence(List presences); List GetPresenceByGroup(int groupId); + DateOnly? GetLastDateByGroupId(int groupId); + List GetPresenceForAbsent(DateTime date, int GroupId); } } diff --git a/Demo/Data/Repository/IUserRepository.cs b/Demo/Data/Repository/IUserRepository.cs index 0a3cae6..e3fa986 100644 --- a/Demo/Data/Repository/IUserRepository.cs +++ b/Demo/Data/Repository/IUserRepository.cs @@ -6,7 +6,7 @@ namespace Demo.Data.Repository { public interface IUserRepository { - IEnumerable GetAllUsers { get; } + List GetAllUsers(); bool RemoveUserById(int userId); UserDao? UpdateUser(UserDao user); } diff --git a/Demo/Data/Repository/PresenceRepositoryImpl.cs b/Demo/Data/Repository/PresenceRepositoryImpl.cs index d38d28f..0f0b8df 100644 --- a/Demo/Data/Repository/PresenceRepositoryImpl.cs +++ b/Demo/Data/Repository/PresenceRepositoryImpl.cs @@ -47,5 +47,7 @@ namespace Demo.Data.Repository { return _presences.Where(p => p.GroupId == groupId).ToList(); } + + } } diff --git a/Demo/Data/Repository/SQLPresenceRepository.cs b/Demo/Data/Repository/SQLPresenceRepository.cs index bab77ab..db553db 100644 --- a/Demo/Data/Repository/SQLPresenceRepository.cs +++ b/Demo/Data/Repository/SQLPresenceRepository.cs @@ -2,10 +2,13 @@ using Demo.Data.RemoteData.RemoteDataBase; using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.domain.Models; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Demo.Data.Repository @@ -18,7 +21,10 @@ namespace Demo.Data.Repository { _remoteDatabaseContext = remoteDatabaseContext; } - + public List GetPresenceForAbsent(DateTime date, int GroupId) + { + return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == GroupId && p.Date==DateOnly.FromDateTime(date)).ToList(); + } public List GetPresenceByDateAndGroup(DateTime date, int groupId) { return _remoteDatabaseContext.PresenceDaos.Where(p => p.Date == DateOnly.FromDateTime(date) && @@ -28,10 +34,6 @@ namespace Demo.Data.Repository // Реализация метода для получения всех данных по группе public List GetPresenceByGroup(int groupId) { - foreach (var user in _remoteDatabaseContext.PresenceDaos) - { - Console.WriteLine(user); - } return _remoteDatabaseContext.PresenceDaos.Where(p => p.GroupId == groupId).ToList(); } @@ -42,10 +44,23 @@ namespace Demo.Data.Repository Date = it.Date, IsAttedance = it.IsAttedance, LessonNumber = it.LessonNumber, - UserId = it.UserId + UserId = it.UserId, + GroupId = it.GroupId })); _remoteDatabaseContext.SaveChanges(); } + public DateOnly? GetLastDateByGroupId(int groupId) + { + // Проверяем наличие записей о посещаемости в базе данных для данной группы. + var lastDate = _remoteDatabaseContext.PresenceDaos + .Where(p => p.GroupId == groupId) + .OrderByDescending(p => p.Date) + .Select(p => p.Date) + .FirstOrDefault(); + + return lastDate == default ? (DateOnly?)null : lastDate; + } + } } diff --git a/Demo/Data/Repository/SQLUserRepositoryImpl.cs b/Demo/Data/Repository/SQLUserRepositoryImpl.cs index c6a10c0..a8a68a0 100644 --- a/Demo/Data/Repository/SQLUserRepositoryImpl.cs +++ b/Demo/Data/Repository/SQLUserRepositoryImpl.cs @@ -18,8 +18,6 @@ namespace Demo.Data.Repository _remoteDatabaseContext = remoteDatabaseContext; } - public IEnumerable GetAllUsers => _remoteDatabaseContext.Users; - public bool RemoveUserById(int userId) { var user = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == userId); @@ -34,10 +32,18 @@ namespace Demo.Data.Repository var existingUser = _remoteDatabaseContext.Users.FirstOrDefault(u => u.UserId == user.UserId); if (existingUser == null) throw new UserNotFoundException(user.UserId); + // Обновляем поля существующего пользователя existingUser.FIO = user.FIO; existingUser.GroupId = user.GroupId; + _remoteDatabaseContext.SaveChanges(); return existingUser; } + + public List GetAllUsers() + { + // Возвращаем пользователей, отсортированных по UserId + return _remoteDatabaseContext.Users.OrderBy(u => u.UserId).ToList(); + } } } diff --git a/Demo/Data/Repository/UserRepositoryImpl.cs b/Demo/Data/Repository/UserRepositoryImpl.cs index a25e30f..e1d6e40 100644 --- a/Demo/Data/Repository/UserRepositoryImpl.cs +++ b/Demo/Data/Repository/UserRepositoryImpl.cs @@ -29,17 +29,6 @@ namespace Demo.Data.Repository return true; } - public UserLocalEnity? UpdateUser(UserLocalEnity user) - { - var existingUser = _users.FirstOrDefault(u => u.ID == user.ID); - if (existingUser == null) throw new UserNotFoundException(user.ID); - - existingUser.FIO = user.FIO; - existingUser.GroupID = user.GroupID; - - return existingUser; - } - public UserDao? UpdateUser(UserDao user) { throw new NotImplementedException(); diff --git a/Demo/Demo.csproj b/Demo/Demo.csproj index ed80240..e091d33 100644 --- a/Demo/Demo.csproj +++ b/Demo/Demo.csproj @@ -19,6 +19,7 @@ + diff --git a/Demo/Domain/UseCase/GroupUseCase.cs b/Demo/Domain/UseCase/GroupUseCase.cs index f8d3f6f..f0749a3 100644 --- a/Demo/Domain/UseCase/GroupUseCase.cs +++ b/Demo/Domain/UseCase/GroupUseCase.cs @@ -91,26 +91,6 @@ namespace Demo.Domain.UseCase _repositoryGroupImpl.AddGroup(newGroup.Name); } - public void RemoveGroupById(int groupId) - { - ValidateGroupId(groupId); - var existingGroup = ValidateGroupExistence(groupId); - List _groups = GetAllGroups(); - - // Находим группу по ID и удаляем ее - var groupToRemove = _groups.FirstOrDefault(g => g.Id == existingGroup.Id); - if (groupToRemove != null) - { - _groups.Remove(groupToRemove); - _repositoryGroupImpl.RemoveGroupById(existingGroup.Id); - } - else - { - throw new ArgumentException("Группа не найдена."); - // Обработка случая, если группа не найдена (например, выброс исключения) - } - } - // Метод для изменения названия группы public void UpdateGroup(int groupId, string newGroupName) diff --git a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs index 4320e66..c9ae066 100644 --- a/Demo/Domain/UseCase/UseCaseGeneratePresence.cs +++ b/Demo/Domain/UseCase/UseCaseGeneratePresence.cs @@ -1,6 +1,7 @@ using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.Data.Repository; using Demo.domain.Models; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; @@ -13,6 +14,7 @@ namespace Demo.Domain.UseCase { public readonly IUserRepository _userRepository; public readonly IPresenceRepository _presenceRepository; + public UseCaseGeneratePresence(IUserRepository userRepository, IPresenceRepository presenceRepository) { @@ -28,23 +30,26 @@ namespace Demo.Domain.UseCase return _presenceRepository.GetPresenceByDateAndGroup(date, groupId); } - public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId, DateTime currentDate) + public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId) { try { - var users = _userRepository.GetAllUsers.Where(u => u.GroupId == groupId).ToList(); + var users = _userRepository.GetAllUsers().Where(u => u.GroupId == groupId).ToList(); + + // Находим последнюю дату посещаемости для данной группы + DateOnly startDate = _presenceRepository.GetLastDateByGroupId(groupId)?.AddDays(1) + ?? DateOnly.FromDateTime(DateTime.Today); List presences = new List(); for (int lessonNumber = firstLesson; lessonNumber <= lastLesson; lessonNumber++) { foreach (var user in users) { - Console.WriteLine($"UserId: {user.UserId}, GroupId: {user.GroupId}"); // Выводим информацию о пользователе var presence = new PresenceDao { UserId = user.UserId, GroupId = user.GroupId, - Date = DateOnly.FromDateTime(currentDate), + Date = startDate, LessonNumber = lessonNumber, IsAttedance = true }; @@ -52,7 +57,7 @@ namespace Demo.Domain.UseCase try { _presenceRepository.SavePresence(new List { presence }); - Console.WriteLine($"Посещаемость добавлена для UserId = {user.UserId}, LessonNumber = {lessonNumber}"); + Console.WriteLine($"Посещаемость добавлена для UserId = {user.UserId}, LessonNumber = {lessonNumber} на дату {startDate}"); } catch (Exception ex) { @@ -76,12 +81,14 @@ namespace Demo.Domain.UseCase } + + public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime) { for (int i = 0; i < 7; i++) { DateTime currentTime = startTime.AddDays(i); - GeneratePresenceDaily(firstLesson, lastLesson, groupId, currentTime); + GeneratePresenceDaily(firstLesson, lastLesson, groupId); } } @@ -90,24 +97,26 @@ namespace Demo.Domain.UseCase // Отметить пользователя как отсутствующего на диапазоне занятий public void MarkUserAbsentForLessons(int userId, int groupId, int firstLesson, int lastLesson, DateTime date) { - var presences = _presenceRepository.GetPresenceByDateAndGroup(date, groupId); + List presences = _presenceRepository.GetPresenceForAbsent(date, groupId); + + // Обновляем состояние присутствия для указанных занятий foreach (var presence in presences.Where(p => p.UserId == userId && p.LessonNumber >= firstLesson && p.LessonNumber <= lastLesson)) { - presence.IsAttedance = false; + presence.IsAttedance = false; // Устанавливаем отсутствие + Console.WriteLine($"PresenceId: {presence.PresenceId}, UserId: {presence.UserId}, Lesson Num: {presence.LessonNumber}, Att: {presence.IsAttedance}"); } + // Сохраняем изменения в репозитории _presenceRepository.SavePresence(presences); } - - public List GetAllPresenceByGroup(int groupId) { - return _presenceRepository.GetPresenceByGroup(groupId); } + } } diff --git a/Demo/Domain/UseCase/UserUseCase.cs b/Demo/Domain/UseCase/UserUseCase.cs index 3cb1c84..716e844 100644 --- a/Demo/Domain/UseCase/UserUseCase.cs +++ b/Demo/Domain/UseCase/UserUseCase.cs @@ -28,7 +28,7 @@ namespace Demo.Domain.UseCase // Приватный метод для валидации существования пользователя по ID private UserDao ValidateUserExistence(int userId) { - var user = _repositoryUserImpl.GetAllUsers + var user = _repositoryUserImpl.GetAllUsers() .FirstOrDefault(u => u.UserId == userId); if (user == null) @@ -54,7 +54,7 @@ namespace Demo.Domain.UseCase } // Вывести всех пользователей - public List GetAllUsers() => _repositoryUserImpl.GetAllUsers + public List GetAllUsers() => _repositoryUserImpl.GetAllUsers() .Join(_repositoryGroupImpl.GetAllGroups(), user => user.GroupId, // Ключ для пользователей group => group.Id, // Ключ для групп @@ -86,47 +86,47 @@ namespace Demo.Domain.UseCase } // Обновить пользователя по id - //public User UpdateUser(User user) - //{ - // ValidateUserFIO(user.FIO); - // ValidateGroupExistence(user.Group.Id); + public UserDao UpdateUser(UserDao user) + { + ValidateUserFIO(user.FIO); + ValidateGroupExistence(user.GroupId); - // UserDao userDao = new UserDao - // { - // FIO = user.FIO, - // GroupId = user.Group.Id - // }; + UserDao userDao = new UserDao + { + UserId = user.UserId, + FIO = user.FIO, + GroupId = user.GroupId + }; - // UserDao? result = _repositoryUserImpl.UpdateUser(userDao); + UserDao? result = _repositoryUserImpl.UpdateUser(userDao); - // if (result == null) - // { - // throw new Exception("Ошибка при обновлении пользователя."); - // } + if (result == null) + { + throw new Exception("Ошибка при обновлении пользователя."); + } - // var groupEntity = ValidateGroupExistence(result.GroupId); + var groupEntity = ValidateGroupExistence(result.GroupId); - // return new User - // { - // FIO = result.FIO, - // Group = new Group - // { - // Id = groupEntity.Id, - // Name = groupEntity.Name - // } - // }; - //} + return new UserDao + { + UserId=user.UserId, + FIO = result.FIO, + GroupId = result.GroupId + }; + + } // Найти пользователя по id - public User FindUserById(int userId) + public UserDao FindUserById(int userId) { var user = ValidateUserExistence(userId); var group = ValidateGroupExistence(user.GroupId); - return new User + return new UserDao { + UserId = user.UserId, FIO = user.FIO, - Group = new Group { Id = group.Id, Name = group.Name } + GroupId = group.Id }; } } diff --git a/Demo/Migrations/20241025085326_InitialCreate.Designer.cs b/Demo/Migrations/20241101064613_InitialMigration.Designer.cs similarity index 83% rename from Demo/Migrations/20241025085326_InitialCreate.Designer.cs rename to Demo/Migrations/20241101064613_InitialMigration.Designer.cs index c3f3dd9..7255aa8 100644 --- a/Demo/Migrations/20241025085326_InitialCreate.Designer.cs +++ b/Demo/Migrations/20241101064613_InitialMigration.Designer.cs @@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace Demo.Migrations { [DbContext(typeof(RemoteDatabaseContext))] - [Migration("20241025085326_InitialCreate")] - partial class InitialCreate + [Migration("20241101064613_InitialMigration")] + partial class InitialMigration { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -44,27 +44,28 @@ namespace Demo.Migrations modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => { - b.Property("UserId") + b.Property("PresenceId") + .ValueGeneratedOnAdd() .HasColumnType("integer"); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("PresenceId")); + b.Property("Date") .HasColumnType("date"); + b.Property("GroupId") + .HasColumnType("integer"); + b.Property("IsAttedance") .HasColumnType("boolean"); b.Property("LessonNumber") .HasColumnType("integer"); - b.Property("GroupId") + b.Property("UserId") .HasColumnType("integer"); - b.Property("UserDaoUserId") - .HasColumnType("integer"); - - b.HasKey("UserId", "Date", "IsAttedance", "LessonNumber"); - - b.HasIndex("UserDaoUserId"); + b.HasKey("PresenceId"); b.ToTable("PresenceDaos"); }); @@ -91,17 +92,6 @@ namespace Demo.Migrations b.ToTable("Users"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => - { - b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao") - .WithMany() - .HasForeignKey("UserDaoUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("UserDao"); - }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => { b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group") diff --git a/Demo/Migrations/20241025085326_InitialCreate.cs b/Demo/Migrations/20241101064613_InitialMigration.cs similarity index 79% rename from Demo/Migrations/20241025085326_InitialCreate.cs rename to Demo/Migrations/20241101064613_InitialMigration.cs index 643f15c..296c3ff 100644 --- a/Demo/Migrations/20241025085326_InitialCreate.cs +++ b/Demo/Migrations/20241101064613_InitialMigration.cs @@ -7,7 +7,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace Demo.Migrations { /// - public partial class InitialCreate : Migration + public partial class InitialMigration : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) @@ -25,6 +25,23 @@ namespace Demo.Migrations table.PrimaryKey("PK_Groups", x => x.Id); }); + migrationBuilder.CreateTable( + name: "PresenceDaos", + columns: table => new + { + PresenceId = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + UserId = table.Column(type: "integer", nullable: false), + IsAttedance = table.Column(type: "boolean", nullable: false), + Date = table.Column(type: "date", nullable: false), + LessonNumber = table.Column(type: "integer", nullable: false), + GroupId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PresenceDaos", x => x.PresenceId); + }); + migrationBuilder.CreateTable( name: "Users", columns: table => new @@ -45,33 +62,6 @@ namespace Demo.Migrations onDelete: ReferentialAction.Cascade); }); - migrationBuilder.CreateTable( - name: "PresenceDaos", - columns: table => new - { - UserId = table.Column(type: "integer", nullable: false), - IsAttedance = table.Column(type: "boolean", nullable: false), - Date = table.Column(type: "date", nullable: false), - LessonNumber = table.Column(type: "integer", nullable: false), - UserDaoUserId = table.Column(type: "integer", nullable: false), - GroupId = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_PresenceDaos", x => new { x.UserId, x.Date, x.IsAttedance, x.LessonNumber }); - table.ForeignKey( - name: "FK_PresenceDaos_Users_UserDaoUserId", - column: x => x.UserDaoUserId, - principalTable: "Users", - principalColumn: "UserId", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_PresenceDaos_UserDaoUserId", - table: "PresenceDaos", - column: "UserDaoUserId"); - migrationBuilder.CreateIndex( name: "IX_Users_GroupId", table: "Users", diff --git a/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs b/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs index c4f2402..3ee588f 100644 --- a/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs +++ b/Demo/Migrations/RemoteDatabaseContextModelSnapshot.cs @@ -41,27 +41,28 @@ namespace Demo.Migrations modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => { - b.Property("UserId") + b.Property("PresenceId") + .ValueGeneratedOnAdd() .HasColumnType("integer"); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("PresenceId")); + b.Property("Date") .HasColumnType("date"); + b.Property("GroupId") + .HasColumnType("integer"); + b.Property("IsAttedance") .HasColumnType("boolean"); b.Property("LessonNumber") .HasColumnType("integer"); - b.Property("GroupId") + b.Property("UserId") .HasColumnType("integer"); - b.Property("UserDaoUserId") - .HasColumnType("integer"); - - b.HasKey("UserId", "Date", "IsAttedance", "LessonNumber"); - - b.HasIndex("UserDaoUserId"); + b.HasKey("PresenceId"); b.ToTable("PresenceDaos"); }); @@ -88,17 +89,6 @@ namespace Demo.Migrations b.ToTable("Users"); }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => - { - b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao") - .WithMany() - .HasForeignKey("UserDaoUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("UserDao"); - }); - modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => { b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group") diff --git a/Demo/UI/GroupConsole.cs b/Demo/UI/GroupConsole.cs index dab1660..82a710c 100644 --- a/Demo/UI/GroupConsole.cs +++ b/Demo/UI/GroupConsole.cs @@ -47,13 +47,6 @@ namespace Demo.UI } } - public void RemoveGroup(string groupIdStr) - { - int groupId = int.Parse(groupIdStr); - _groupUseCase.RemoveGroupById(groupId); - Console.WriteLine($"Группа с ID: {groupId} удалена"); - } - // Метод для обновления названия группы public void UpdateGroupName(int groupId, string newGroupName) { diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs index 2bd2018..34441d6 100644 --- a/Demo/UI/MainMenu.cs +++ b/Demo/UI/MainMenu.cs @@ -1,6 +1,7 @@ using Demo.domain.Models; using Demo.Domain.UseCase; using System; +using System.Globalization; namespace Demo.UI { @@ -33,16 +34,15 @@ namespace Demo.UI Console.WriteLine("=-= Команды с Группами =-="); Console.WriteLine("5. Вывести все группы"); Console.WriteLine("6. Добавить группу"); - Console.WriteLine("7. Удалить группу"); - Console.WriteLine("8. Изменить название группы"); - Console.WriteLine("9. Поиск группы по ID"); + Console.WriteLine("7. Изменить название группы"); + Console.WriteLine("8. Поиск группы по ID"); Console.WriteLine(); Console.WriteLine("=-= Команды Presence =-="); - Console.WriteLine("10. Сгенерировать посещаемость на день"); - Console.WriteLine("11. Сгенерировать посещаемость на неделю"); - Console.WriteLine("12. Показать посещаемость"); - Console.WriteLine("13. Отметить пользователя как отсутствующего"); - Console.WriteLine("14. Вывести всю посещаемость группы"); + Console.WriteLine("9. Сгенерировать посещаемость на день"); + Console.WriteLine("10. Сгенерировать посещаемость на неделю"); + Console.WriteLine("11. Показать посещаемость"); + Console.WriteLine("12. Отметить пользователя как отсутствующего"); + Console.WriteLine("13. Вывести всю посещаемость группы"); Console.WriteLine(); Console.WriteLine("0. Выход"); @@ -71,19 +71,19 @@ namespace Demo.UI } break; - //case "3": - // // Обновление пользователя по ID - // Console.Write("Введите ID пользователя для обновления: "); - // string updateIdInput = Console.ReadLine(); - // if (int.TryParse(updateIdInput, out int updateUserId)) - // { - // _userConsoleUI.UpdateUserById(updateUserId); - // } - // else - // { - // Console.WriteLine("Неверный формат ID"); - // } - // break; + case "3": + // Обновление пользователя по ID + Console.Write("Введите ID пользователя для обновления: "); + string updateIdInput = Console.ReadLine(); + if (int.TryParse(updateIdInput, out int updateUserId)) + { + _userConsoleUI.UpdateUserById(updateUserId); + } + else + { + Console.WriteLine("Неверный формат ID"); + } + break; case "4": // Поиск пользователя по ID @@ -112,13 +112,6 @@ namespace Demo.UI break; case "7": - // Удаление группы - Console.Write("Введите ID группы для удаления: "); - string groupIdForDelete = Console.ReadLine(); - _groupConsoleUI.RemoveGroup(groupIdForDelete); - break; - - case "8": // Изменение названия группы Console.Write("Введите ID группы для изменения: "); if (int.TryParse(Console.ReadLine(), out int groupId)) @@ -133,7 +126,7 @@ namespace Demo.UI } break; - case "9": + case "8": // Поиск группы Console.Write("Введите ID группы для поиска : "); if (int.TryParse(Console.ReadLine(), out int IdGroup)) @@ -142,7 +135,7 @@ namespace Demo.UI } break; - case "10": + case "9": // Генерация посещаемости на день Console.Write("Введите номер первого занятия: "); int firstLesson = int.Parse(Console.ReadLine()); @@ -155,7 +148,7 @@ namespace Demo.UI Console.WriteLine("Посещаемость на день сгенерирована."); break; - case "11": + case "10": // Генерация посещаемости на неделю Console.Write("Введите номер первого занятия: "); int firstLessonForWeek = int.Parse(Console.ReadLine()); @@ -168,7 +161,7 @@ namespace Demo.UI Console.WriteLine("Посещаемость на неделю сгенерирована."); break; - case "12": + case "11": // Отображение посещаемости Console.Write("Введите дату (гггг-мм-дд): "); DateTime date = DateTime.Parse(Console.ReadLine()); @@ -178,7 +171,7 @@ namespace Demo.UI _presenceConsoleUI.DisplayPresence(date, groupForPresenceView); break; - case "13": + case "12": // Отметить пользователя как отсутствующего Console.Write("Введите ID пользователя: "); userId = int.Parse(Console.ReadLine()); @@ -189,11 +182,22 @@ namespace Demo.UI Console.Write("Введите ID группы: "); int absGroupId = int.Parse(Console.ReadLine()); - _presenceConsoleUI.MarkUserAbsent(DateTime.Now, absGroupId, userId, firstAbsLesson, lastAbsLesson); + Console.Write("Введите дату (дд.мм.гггг): "); + string dateInput = Console.ReadLine(); + DateTime absenceDate; + + if (!DateTime.TryParseExact(dateInput, "d.M.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out absenceDate)) + { + Console.WriteLine("Ошибка: Введен некорректный формат даты. Пожалуйста, используйте формат дд.мм.гггг."); + return; // Завершает выполнение, если дата некорректна + } + _presenceConsoleUI.MarkUserAbsent(absenceDate, absGroupId, userId, firstAbsLesson, lastAbsLesson); Console.WriteLine("Пользователь отмечен как отсутствующий."); break; - case "14": + + + case "13": Console.Write("Введите ID группы: "); int groupIdForAllPresence = int.Parse(Console.ReadLine()); _presenceConsoleUI.DisplayAllPresenceByGroup(groupIdForAllPresence); diff --git a/Demo/UI/PresenceConsole.cs b/Demo/UI/PresenceConsole.cs index f941d34..209bb9e 100644 --- a/Demo/UI/PresenceConsole.cs +++ b/Demo/UI/PresenceConsole.cs @@ -20,7 +20,7 @@ namespace Demo.UI { try { - _presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId, date); + _presenceUseCase.GeneratePresenceDaily(firstLesson, lastLesson, groupId); Console.WriteLine("Посещаемость на день успешно сгенерирована."); } catch (Exception ex) @@ -56,26 +56,31 @@ namespace Demo.UI return; } + // Сортируем присутствия по номеру занятия и ID пользователя + var sortedPresences = presences.OrderBy(p => p.LessonNumber) + .ThenBy(p => p.UserId); + Console.WriteLine($"\nПосещаемость на {date.ToShortDateString()} для группы с ID {groupId}:"); Console.WriteLine("---------------------------------------------"); - int a = presences[0].LessonNumber; - foreach (var presence in presences) + + int previousLessonNumber = -1; // Инициализация для сравнения + foreach (var presence in sortedPresences) { - if (a != presence.LessonNumber) + if (previousLessonNumber != presence.LessonNumber) { Console.WriteLine("---------------------------------------------"); - a = presence.LessonNumber; + previousLessonNumber = presence.LessonNumber; } string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; Console.WriteLine($"Пользователь ID: {presence.UserId}, Занятие {presence.LessonNumber}: {status}"); } Console.WriteLine("---------------------------------------------"); - } catch (Exception ex) { Console.WriteLine($"Ошибка при выводе посещаемости: {ex.Message}"); } + } public void MarkUserAbsent(DateTime date, int groupId, int userId, int firstLesson, int lastLesson) @@ -90,35 +95,46 @@ namespace Demo.UI { try { - var presences = _presenceUseCase.GetAllPresenceByGroup(groupId); + // Получаем все посещения для группы + var presences = _presenceUseCase.GetAllPresenceByGroup(groupId); + + if (presences == null || presences.Count == 0) + { + Console.WriteLine($"Посещаемость для группы с ID {groupId} отсутствует."); + return; + } + + // Группируем по дате + var groupedPresences = presences.GroupBy(p => p.Date); - if (presences == null || !presences.Any()) - { - Console.WriteLine($"Посещаемость для группы с ID {groupId} отсутствует."); - return; - } - int a = presences[0].LessonNumber; - // Группируем по дате - var groupedPresences = presences.GroupBy(p => p.Date); - foreach (var group in groupedPresences) { Console.WriteLine("==================================================="); Console.WriteLine($"Дата: {group.Key.ToString("dd.MM.yyyy")}"); Console.WriteLine("==================================================="); - foreach (var presence in group) - { - if (a != presence.LessonNumber) - { - Console.WriteLine("---------------------------------------------------"); - a= presence.LessonNumber; - } - string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; - Console.WriteLine($"Пользователь ID: {presence.UserId}, Занятие {presence.LessonNumber}: {status}"); - } + // Группируем по занятию + var groupedByLesson = group.GroupBy(p => p.LessonNumber); - Console.WriteLine("---------------------------------------------------"); + foreach (var lessonGroup in groupedByLesson) + { + Console.WriteLine($"Занятие {lessonGroup.Key}:"); + + // Создаем HashSet для уникальных пользователей + var userIds = new HashSet(); + + foreach (var presence in lessonGroup) + { + // Проверяем, добавляется ли пользователь в HashSet + if (userIds.Add(presence.UserId)) + { + string status = presence.IsAttedance ? "Присутствует" : "Отсутствует"; + Console.WriteLine($"Пользователь ID: {presence.UserId}, Статус: {status}"); + } + } + + Console.WriteLine("---------------------------------------------------"); + } } } catch (Exception ex) diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs index 21092e0..7050f7b 100644 --- a/Demo/UI/UserConsole.cs +++ b/Demo/UI/UserConsole.cs @@ -36,26 +36,27 @@ namespace Demo.UI } // Метод для обновления пользователя по ID - //public void UpdateUserById(int userId) - //{ - // try - // { - // var user = _userUseCase.FindUserById(userId); + public void UpdateUserById(int userId) + { + try + { + var user = _userUseCase.FindUserById(userId); - // Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}"); - // Console.Write("\nВведите новое ФИО: "); - // string newFIO = Console.ReadLine(); - // user.FIO = newFIO; - // _userUseCase.UpdateUser(user); + Console.WriteLine($"Текущие данные: {user.FIO}"); + Console.Write("\nВведите новое ФИО: "); + string newFIO = Console.ReadLine(); - // Console.WriteLine("\nПользователь обновлен.\n"); - // } - // catch (Exception ex) - // { - // Console.WriteLine($"Ошибка: {ex.Message}\n"); - // } - //} + user.FIO = newFIO; + _userUseCase.UpdateUser(user); + + Console.WriteLine("\nПользователь обновлен.\n"); + } + catch (Exception ex) + { + Console.WriteLine($"Ошибка: {ex.Message}\n"); + } + } // Метод для поиска пользователя по ID public void FindUserById(int userId) @@ -63,7 +64,7 @@ namespace Demo.UI var user = _userUseCase.FindUserById(userId); if (user != null) { - Console.WriteLine($"\nПользователь найден: {user.ID}, {user.FIO}, {user.Group.Name}\n"); + Console.WriteLine($"\nПользователь найден: {user.UserId}, {user.FIO}, {user.Group.Name}\n"); } else { diff --git a/Demo/bin/Debug/net8.0/Demo.dll b/Demo/bin/Debug/net8.0/Demo.dll index fd50f629de542708e326a4668b429f3c1bb62be2..f9807dc6040b9ab4ec3b3bd3f468fa499b7e0686 100644 GIT binary patch literal 57856 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 z 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 delta 99 zcmZqJ!_fdlEsR^39!U9{FeCz@A%i7@5ko2vS^%LTgE>PQP}Gva04$aUq!Ss;7)%(9 f!744mI!u6~NkCRA5Ss$k8v|9CZ`YS*y2u0o4kQwS diff --git a/Demo/bin/Debug/net8.0/Demo.pdb b/Demo/bin/Debug/net8.0/Demo.pdb index 4972a2446c6682798127dacaca57ae839be55eeb..ca5d12fd72227387fdf2e61bc2bcab32db079337 100644 GIT binary patch delta 11562 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 diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs index b949f2b..ebcad77 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4aa192ee8817fa90eef0a643199a140baea5f367")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5f424596e2b0fa84375965a237d76913c98a016f")] [assembly: System.Reflection.AssemblyProductAttribute("Demo")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache index f0a4fd0..b8b98a7 100644 --- a/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -1 +1 @@ -d0ff50a2b7329f08a99a7d850fd97c7e85ea6c3c244d5b7af843a712fd92af39 +e42cc116f635190b7c9988c97519c211c4b2432424ca6ac866ba04673b9f3fa7 diff --git a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache index bc52d93..e982de8 100644 --- a/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache +++ b/Demo/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -30504035d845e5616feb21a777025026c55555e88052b83a111a265004d6549d +1e41011bf1bd18b43960533c1b9a8180853e639316cffb41dabd64b373687e5e diff --git a/Demo/obj/Debug/net8.0/Demo.dll b/Demo/obj/Debug/net8.0/Demo.dll index fd50f629de542708e326a4668b429f3c1bb62be2..f9807dc6040b9ab4ec3b3bd3f468fa499b7e0686 100644 GIT binary patch literal 57856 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 z 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 diff --git a/Demo/obj/Debug/net8.0/apphost.exe b/Demo/obj/Debug/net8.0/apphost.exe index 1bc7e2b1b6ce7350d709318a6afe39ff97c55306..2332d886c159824bad04dfb207b79998f4f6c254 100644 GIT binary patch delta 99 zcmZqJ!_fdlEsR^39!U9{GNdt>Fc<-`DT5`08AB?Noy1@O6isBX0E!wjm_ubufg(m= fehN^`45-==$V&#&7C;#TAkT~;ZM(iS(?uo#+Kmx- delta 99 zcmZqJ!_fdlEsR^39!U9{FeCz@A%i7@5ko2vS^%LTgE>PQP}Gva04$aUq!Ss;7)%(9 f!744mI!u6~NkCRA5Ss$k8v|9CZ`YS*y2u0o4kQwS diff --git a/Demo/obj/Debug/net8.0/ref/Demo.dll b/Demo/obj/Debug/net8.0/ref/Demo.dll index 37260fb30ed56391d6e48b59f42e828795769b9e..92f97d0bf2bf6774b0bb8bb7e439df73f5a2f946 100644 GIT binary patch literal 17920 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 e(<ZBXa?{{#->mI#5|jXzs^`}6-V1OEm7m08;W literal 17920 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 diff --git a/Demo/obj/Debug/net8.0/refint/Demo.dll b/Demo/obj/Debug/net8.0/refint/Demo.dll index 37260fb30ed56391d6e48b59f42e828795769b9e..92f97d0bf2bf6774b0bb8bb7e439df73f5a2f946 100644 GIT binary patch literal 17920 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 e(<ZBXa?{{#->mI#5|jXzs^`}6-V1OEm7m08;W literal 17920 zcmeHPdw5mVm0#!FNAA7J4R94vQMm+B6u2ZL!GH-QBm|=2nE+a~$;r)0xb;5beE>l^ zM)8G@wm#Zwt4?UNQ`=hYL#wS-C>9^ZKBj6vJI)N0sne>ht>b*tuiv!JZ>@b^A+$RF zG5w~WC!F71zqQtWt-a6Q=j?MYt3UJ!@)40A=R5BZJ&I30ng#zdjKEwu<6D*Vjqvj` zAJsaapV_@7RfrGebAx#!6Hgl1Y_1sZGvoPEHlE7H+tzl)Gr4{<5sgMpx3XThf~ZsT z)63rPw&JrHXB;OB{Hd#YLz4RQC+)?_jltog-fM^^%Rl$i zqRNH*$agKvBSbp`meTt%N>l;<%M#HkUj4ht%|s!OPY8UKhbJ;yQ~ltmozoV(-nLsa z(egym++Kv@;za-`Bql+8dX6|zZz5mFC!v!zj6h(Yr8qrDGjd4e&2$cq+$I{ui5OBF zPS4Sday|3|@ozW+zx(cz)8;R^r~TI3|7&CZUypn6Z@8%+H0>A>XyADj2hUA91*p53 z==ORdjg{}?h#bFzmUo@ET(ffEd1h-}qB>DqU0bu5GYn7~_{J8Pv`pB83(2?ZS%Cz@-WY3f6!{_ z1XX{y(lVUQIDdfi4xBv2PsQm&11s@)7S2xQIJwPy`f*OjNpx38#UV%yW!IDk>BoX| zgZc7F^!0L{WbYQuj^KZm1?kbUbHhRURgm#E!G{Dd5dC_Q_1nF5RF(kFx666x!3~=54 zKrFvOZ|jxxPV_Z@B{gV_vGUjaLAp9TEzD7>@F zX|egJMp$UlPs&@+)AhpMu2gJ^uwPhgg|O=)%C=fquV1kZ!Zw#Hb_wl4UA|Gd4a3Ms z{ladtSW4LUES8pZkB7EZa_Ko?Ke1Rr*kcyET-a+CyF%EnEw)SA{$QXUt@Y9MVhdN+ z2fhlnTi7Gv+jX|xD(s6EyHnVc7Q2_O)F#tG{T1VDCPYE^jlqX#seNUJwp`H$SJQvZ^VpHWc&@-NN=hCynR0)mroF|ti`o71uln#1q z%jkJe3C)zQ8Y=T}BpT`9^i*=9Sj|6{id0qt1e(D7t z0S2kw_Yq)iB;&|kqPa87`i}`dOqWS1JCN!sxEv1wP7O<&*N?1I;Ue&pEl> z5@F3s?ems~Yx^anO=%AS^FX@}oC90G1${d`3BAhayXDW0^RY|3xcqtORp}R(|5(z# zsI6ftMMmBq^;&+heF!&eR6Pjc9Df2V$` z!=8_J=`$SG8`0==n<39j^w~C}FGquPhQoe?7P;&&*qN5?DLNQV>T?`+AJ|zAyD^l~ z&$e@s2+nnEBe2;_MR%UZGp9R@-l{0+^KF|%*JT{fgk$4=U*NFmk@2&S4i+-l{Kh*arWt`Vxm-Uh!Fdsl(2T+^4tN40%4Nx7mzFqux z?bTP>w$LQs0ezLjPC%_)c7y*py~DBH=ATRslL(&Y*qV@w%T^&5mz@gR`HtsVu(|Ay zz8~nFjxFl{M-O`<@Kb%YV|zOAiih16Ie?ka8m*ywF?t*(HCyZ09@n4KUG|jDE0CRT zk$ym5=ddOn*SEvkU|a97b+Fm&RqbH;&-D$qP0H)CnZ(m&98Z^VJi8rFj;F&UmyM2X zS@|z@m#r%QwTE#$H#wdhPnU5#H#;_tr^`5=7dSSKr^`5=7dkeMr^BRXA98FQPnU5# zUB>ae$noTOy6lJH|IjaXY%hm@?=mUj5}syp90Ae5K$AQ2OTsfv9xF5eO8uAU;EWp=_%hs32e1mqarJgC9QN8~p zpUbq!EZ;{Q+m6TrU)p9!x7e4l8ND7}=F3{_RgK$_a~QXM$YI=CmvJQWPA*$~D|`jV zliOahZBpJ=$HtM^<}hyiu){bmJI1BE+_r@|E<0_eaa>%+arvkxU68J@S?I24r_W); z>0GwHe3Ng)_9V{bDw|1kueMp}k%~)vF56cz=wa7K^S)~w&s(EAJ?!?1>wMQbw)-k> zaoAHdDRh_bI?MJHor+oidfQV<-)%Fwie1K6vCH@>zQOV2tJr1NN5_0OI<{M*Uv`<4 zaFb)>8PjDvW4es5;+q{$zKUJ;MBowM#~jlU&SAHY$FC;C$q`)DZ2!*ecEET(frWA`|j}Af^_ExjMSaZ|3xJDVX_`uE*jm8 z{e30t^fvYiZ2iS}w$zBx)+@~u*qqVm25jSKbVU3g6U`uYW9)psESfR+=;G<4jQA^j zMf6;{kM2YcemsM4+IQEF_vu0oe#s$V<)B)`EtQs{_(%JLV*5Rjs`Bf3u8B ze}A}G`sMwlRjK~+NN{^iqx+pPpyIEVaEv0+E34OEMSF(Cw#6BT_9!}fG}_}(jX;%Z zVs5GwW#t%-ufx%r@z#k^I$LV4M$1I&`_rhN%{!w)qo<-e_CP0LH**?3PsBa%Nw^OU z6VInpfI)DhJc7MamTQ2MX|Z67V29v(!3zZq!4y!V%Yaj9Snw8L5Ia3a`N`OS;e1#h zr^OoUTYzU!2XHdQ=~Ai*%%%eUOgod3G&`8U6YiitLC4V$a5{Y)IE(H8&ZWD7we(NG zbFo*NpjP@V@O=6suuJq80b7yh*8;7Q=L)PvhqMm*EOIbJlcdWbn-y`}l(T|CKO!W5)?t}G^wqN9D z1rLkni1;57|0AN;u%aK*d^*?1r*nOLI@dWYI8&^%#5zl?vqXQEV2fB=#o8*?R?&9| z8e&a~b(i37(eDxcm}vHiykF$~lEY!q91+bC(P%!Yp-*avJK~>dGet8?G_yq0BAQmw zw2H{+sCcjBl4K&$1IukhebXj`XiRidY@lP_jBnfKWnZOd6)lk$h$?e zM>J!ixnDHJ~U zW{KP)a;wOO$VriR362Vm3GNl#CqDZ{J|uWpG)F|HGS1&87%v;6a{}?QFVWqBnPpO< z=$i#w1$zaPf+K>v1V;t;NUAZB_X_S8JS2EntVcwq5SOckxRkia&4RsxBO$KINQi4P zDw@55hXg6iY2$*;g1up$c}BvLDlDl)zgO^(AVnlqMA{f(pJvhY3XTYl3hos=BuM3w zO0Ze5S8$|U$|{$#M6*}$kRVk^D#2#K-U{~btziFut0mXILTA6S8zmdRB*50AwfD`>MYnSI3hSI zxL5FyAWaod!Dhi;!I7yFlc`ef34As2JEKb6vrWSHDkf7oR;DQ4bj9#CZz|TO6X;~D zUZ-I7Iu&cfY51Fg)gg|(K)e$4y@8eZ3IA__og&W{oZ^2Qnx6)K5Bx%eeV)eMs-%Hx-B0ARB(P)_mr$7!zrvo2}&IaCJu>k1J|B>ioXjBdDx-ExB)lHSF zYUpjnb&-|uIX>D6+#B5pyubXze%$LJRvIk=>U0ivoHcxPBmj8{l|eois8b_Wd5xNY zI=(DY4tW_+r)I=f!+Vh^N@u zyKmDVuSL)B9@N(Kg2Gr?x+|}?CG*HL0VH4!f0CoB-BBaq>K%MSJgfzMbsMFsg zLK=+%akq{*Y4kauPWK{C8r=uf>GOz_M*jfR=?io|_I zb$Srd(y?3r9Iz5^lXQ&sAJ9DVkMRAt_jnq2?s%ARjyie?4L4BQi*iJa$Pgq(#`XXBiUa~?*?e4Gi?ZUN3}oHe)x7vkjC?{zrqF#;Ch zJO^h3uFJ(Zm*6}XqoEOJ6Ry~$IG5q7#nHHQaZgWmPqh*jijeH-X-gG`(#CLW+9(v1 z5^lA}vMMF4b;q(QC9L(wvMMF4i;iVIrm{gik;JNTbx)05brz1QdaZ3;1fgR^wv;jR zMqk?OWp-J~C|aZ?Sxn`!(6;7HqiA-sdU+|8?l<#Lt{p-uc5qc~eO+b|rp{D>KU%v^ zZ(Q2Y(}VAL8R>#mqw1c8cGWDQ*4EV9!Xgm{dU{&2x$JNzS1NQ551BQ+3#q-7P2$7q zpISR77LImb*juaIEwAdHI@{e6s(b2f4GTwSP}{qR&D6L$*I!DTOQ~^PKD8Br=*SGE z&5W5XO7q*yqLE4$meQbE?7`PU3hIN|%6zUgWT|X<(9*S;nOtIH2Z_Elmo4PdCg{e3 znRnT0Bb8lkW=k-Le;fKHu>mQI=27BuqhKc5TGmP}+B?=tHTbiWgWttfO>z=XK4K9a zMhJBc7m8*k(V9!AP3iYSVx^fi^Qok2SifpmzcAGprLtw!FlFafbSSeWmXxMFmF<@V z%ZFj#IMk1Dy4>5wp?m1fZ`h^xUBlUk_!94g&dXek!W zej}U2BN+Fmhr_WI!It2l_UrOy!DPQKW2;N7nZhyJ-kVMH()6&S9%tFB!G|9GD zLqLMP#>l8zh~SBt@T|E_+9hO=2bW0bSF=0C35!O)D3aB~8%o(C8~Bo<)v07YSI7+% z6Dy!C4!7gGvgWp2{?gW5{#~qzj_g3*C=~OhWU&NiZ|D7)0c!c=G8ongD~@Exz~<5# zn@EFfg3r7ymprn2LG+By#vDI=}sHEPXehEi!W-;P-h zE!kjRR!Zf~ehh(ps;>lh+rjQdkEzYtWDW%inH7$jLndwUpcc+S8$F+TY z)fYWUyNx`?pVJF&o^}rHsOTm$U%)F)#XJsxOtsP5d<~G+ zX6^VWhV{TyV~06sib0~jGPuepY$1D?*cWqqF3;EfU%uEdt*5P?BUw?U6eX%rp%ikN z^{3O6cVJLE&csiB}$pBa|eKy zSwqW-qB&qKBWi(LlPk98O4ySp<+XQs)q|UbuQ4g(tD0RcN8sdLDevW^>80Z9Ys)!mWU-bB$8O# zNm|y?k1NL>Hfx5P1!yydC#c)-;4n-)zpTx&z++Sf zggXsVhuy~>U5`EPJ-Va2lsY&b9)})|iifjV9syS1W(eQ8ur4J_#W#a$M)fMxgE~$4 zorXWIX(3;nv;c%DQ-@pk$nBxv)Yxi0Ru^J+M_94#Q#LZaYnq~$O^ucGsj*=#_ECk?p&z+Y z16%_bZ#&INGqT&~O{CKqQtjq&Geo!8KPT6X&-1+{;-;bvv5{N2siO?{TFo!U zn)P4^Au3wY*{-wsQH$*iSwb;X!I|9Yi|vdRW2=y$!55seo_(KTc)`kVXKW|aLw0my z+u_RHuoGt^oBlf>TRZrw2Ht(kJ`cJQof3-E)YuA0(!X^<^lT_rhaT4*QxQr%6f1Iq zVu($Z;yj0kL8vku_i3@}*qqor(asCS{o0iEAv6JI2;q1@@sQZ71yh0yE7}k7F>PQrkHnWQWYAtmk|nh=ei0=8%=Z$zc^TjIHAF%V#A{od+*~rmW|}1a*WY zPBC_dH;c_8Hiw~5IfpqcBM)e?ok8S?@H(ajyK)WEHs#--+BSr2^q3W|Iwy}t&Z9Bb zs1y$)iV-PjghfZW(^aB0E*|FXu5vqa!C-pKj+R@co!q>Q(!7n_8ty6XD*Plxy4DsN zZK1(WTDa0T2T_`XD9u5X<{&@-gagnVo?|!Pks6gGRTe9xosMpMh;`_bot)D~&ZHO$ z+2vb8qpfMc?_W?C9H(j6a_rVm*qk?p*5tCz^4Yy5pW9Z@;8!N&*3a0a(TRyQE4ulK zwqMa8JwS=L!2TGkFZ95xsN1V1Od6r!0#1NKn;FIgg>HM zjS@oU))_|4;)SN!&`@*EfU&sRGzY4UMRoY8(PE>fuDZ`KjrxJwMd#p$KXO5t8uefS zQjgHNd?B72h!=7HR)}v)6}QCm)^lh)BadH&xRE#G{3F&vX=o^y$NmKWj+Jk6;#<`d zA!jh0E9K)!>xnjj035H;r11}O_+1k!025w_;~j$9zg?=)V($WEFL9pjCfQ>e|FCVX zpF}e?I%Q$?!n&I3h4s}9^|cEZ^^AYWCiDuvKrrEu-<*21^Q_;1v8tWrW|k%%_HV_M z1#!%;*lzNE8D$DdbhVk_ha^7UnN7{jB7Fe=pCX{+%^FdhXyinEuEQrjJckTn{t5Dk zM+uQH`Uy(Wvt`Q!lk(q*E8!C(L~rPDvW_?K&3D2(p)S1V*@QPJ8z6PyoyZ#S4q!WE zKEC6B^G~W=m6u%y{=FX`{941dhyu_ix=na%lt(@(yfMPI6yXsUzscg`bV=0>s{w5R zc7uxW%YmumA^c*2^X-B@4@;H?kCD?H@u|jJ5%pJxH&mFl@b)Btw5`Z5gWu(F8N+Ci z0cJ|}ZTQSsby+CBb}iXbz_(zy%%O30@}{ZAT+MIiRLeFY4W0)*^{>JEnri1HyshE4 ze;k3L_-0X;w5LXP-UOqaMm9BI7K--zEaf4yc-+aXqaV-2crY1PCtiiC;#n-(O;xLhvBIZQN!dtC7(+u< z3ser+r7jeCd-OflXJM73L)irryT>Tg;?VHAjCz{={5lBRv4dE!-&-qd?OfwH+3+x^`>i=bsLG;&xA@zSjT(Ib`Re=x6{cA?xe*i>KTMhsK From 614d395305d8f62b18a4f73920015bf0f5e1fa91 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 1 Nov 2024 19:12:59 +0300 Subject: [PATCH 3/3] init --- .../20241025085326_InitialCreate.Designer.cs | 123 ++++++++++++++++++ .../20241025085326_InitialCreate.cs | 94 +++++++++++++ 2 files changed, 217 insertions(+) create mode 100644 Demo/Migrations/20241025085326_InitialCreate.Designer.cs create mode 100644 Demo/Migrations/20241025085326_InitialCreate.cs diff --git a/Demo/Migrations/20241025085326_InitialCreate.Designer.cs b/Demo/Migrations/20241025085326_InitialCreate.Designer.cs new file mode 100644 index 0000000..c3f3dd9 --- /dev/null +++ b/Demo/Migrations/20241025085326_InitialCreate.Designer.cs @@ -0,0 +1,123 @@ +// +using System; +using Demo.Data.RemoteData.RemoteDataBase; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo.Migrations +{ + [DbContext(typeof(RemoteDatabaseContext))] + [Migration("20241025085326_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Groups"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.Property("UserId") + .HasColumnType("integer"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("IsAttedance") + .HasColumnType("boolean"); + + b.Property("LessonNumber") + .HasColumnType("integer"); + + b.Property("GroupId") + .HasColumnType("integer"); + + b.Property("UserDaoUserId") + .HasColumnType("integer"); + + b.HasKey("UserId", "Date", "IsAttedance", "LessonNumber"); + + b.HasIndex("UserDaoUserId"); + + b.ToTable("PresenceDaos"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("UserId")); + + b.Property("FIO") + .IsRequired() + .HasColumnType("text"); + + b.Property("GroupId") + .HasColumnType("integer"); + + b.HasKey("UserId"); + + b.HasIndex("GroupId"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", "UserDao") + .WithMany() + .HasForeignKey("UserDaoUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("UserDao"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDao", b => + { + b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", "Group") + .WithMany("Users") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDao", b => + { + b.Navigation("Users"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Demo/Migrations/20241025085326_InitialCreate.cs b/Demo/Migrations/20241025085326_InitialCreate.cs new file mode 100644 index 0000000..643f15c --- /dev/null +++ b/Demo/Migrations/20241025085326_InitialCreate.cs @@ -0,0 +1,94 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Demo.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Groups", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Groups", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Users", + columns: table => new + { + UserId = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + FIO = table.Column(type: "text", nullable: false), + GroupId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Users", x => x.UserId); + table.ForeignKey( + name: "FK_Users_Groups_GroupId", + column: x => x.GroupId, + principalTable: "Groups", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PresenceDaos", + columns: table => new + { + UserId = table.Column(type: "integer", nullable: false), + IsAttedance = table.Column(type: "boolean", nullable: false), + Date = table.Column(type: "date", nullable: false), + LessonNumber = table.Column(type: "integer", nullable: false), + UserDaoUserId = table.Column(type: "integer", nullable: false), + GroupId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PresenceDaos", x => new { x.UserId, x.Date, x.IsAttedance, x.LessonNumber }); + table.ForeignKey( + name: "FK_PresenceDaos_Users_UserDaoUserId", + column: x => x.UserDaoUserId, + principalTable: "Users", + principalColumn: "UserId", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_PresenceDaos_UserDaoUserId", + table: "PresenceDaos", + column: "UserDaoUserId"); + + migrationBuilder.CreateIndex( + name: "IX_Users_GroupId", + table: "Users", + column: "GroupId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "PresenceDaos"); + + migrationBuilder.DropTable( + name: "Users"); + + migrationBuilder.DropTable( + name: "Groups"); + } + } +}