From b7983dae8eb41b8762561f39a8983964d6b51642 Mon Sep 17 00:00:00 2001 From: Riccardo Usardi Date: Fri, 4 Jul 2025 15:32:04 +0200 Subject: [PATCH] creazione entities e primi repository --- .../0.2.1634.3922/CodeChunks.db | Bin 73728 -> 102400 bytes .vs/uWine/DesignTimeBuild/.dtbcache.v2 | Bin 101161 -> 101161 bytes .vs/uWine/v17/.suo | Bin 44544 -> 63488 bytes .vs/uWine/v17/DocumentLayout.backup.json | 110 +++++++++- .vs/uWine/v17/DocumentLayout.json | 86 +++++++- uWine.Core.Domain/Entities/Address.cs | 37 ++++ uWine.Core.Domain/Entities/Contact.cs | 15 ++ uWine.Core.Domain/Entities/ContactType.cs | 10 + uWine.Core.Domain/Entities/Owner.cs | 16 ++ uWine.Core.Domain/Entities/Role.cs | 9 + uWine.Core.Domain/Entities/User.cs | 12 ++ .../Repositories/IAddressRepository.cs | 15 ++ .../net8.0/uWine.Core.Domain.AssemblyInfo.cs | 2 +- ...uWine.Core.Domain.AssemblyInfoInputs.cache | 2 +- .../net8.0/uWine.Core.Domain.assets.cache | Bin 153 -> 2579 bytes uWine.Core.Domain/obj/project.assets.json | 202 +++++++++++++++++- uWine.Core.Domain/obj/project.nuget.cache | 8 +- ...uWine.Core.Domain.csproj.nuget.dgspec.json | 6 + .../uWine.Core.Domain.csproj.nuget.g.targets | 6 +- uWine.Core.Domain/uWine.Core.Domain.csproj | 4 + .../Repository/MariaDbAddressRepository.cs | 78 +++++++ .../uWine.Core.Infrastructure.csproj | 4 + 22 files changed, 601 insertions(+), 21 deletions(-) create mode 100644 uWine.Core.Domain/Entities/Address.cs create mode 100644 uWine.Core.Domain/Entities/Contact.cs create mode 100644 uWine.Core.Domain/Entities/ContactType.cs create mode 100644 uWine.Core.Domain/Entities/Owner.cs create mode 100644 uWine.Core.Domain/Entities/Role.cs create mode 100644 uWine.Core.Domain/Entities/User.cs create mode 100644 uWine.Core.Domain/Repositories/IAddressRepository.cs create mode 100644 uWine.Core.Infrastructure/Repository/MariaDbAddressRepository.cs diff --git a/.vs/uWine/CopilotIndices/0.2.1634.3922/CodeChunks.db b/.vs/uWine/CopilotIndices/0.2.1634.3922/CodeChunks.db index 69b7466cfbcbef4e95f2bdca1c70683bc5956683..9cdaca659a23b65b3e4db1c874a1812309b67bc9 100644 GIT binary patch literal 102400 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 Ye+66M5Pw=bONf(Z&E}_F+d%~V8{SMd=Kufz diff --git a/.vs/uWine/DesignTimeBuild/.dtbcache.v2 b/.vs/uWine/DesignTimeBuild/.dtbcache.v2 index 67256fe9693e93858b1052c85ed9bf468e79d869..c2d572d9e6523e6e19f0d088965270faeb45d839 100644 GIT binary patch literal 101161 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 YwbavAuvzuA4XnMM&IaqK-?HWZ0STFGRsaA1 literal 101161 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 diff --git a/.vs/uWine/v17/.suo b/.vs/uWine/v17/.suo index 3159887a8efc335601dc91845443125c630bbfae..2a769473b33cef782024cf91f2058c4249fe257b 100644 GIT binary patch literal 63488 zcmeHQ3v?URnI4B%AV3I7DQQFEnm_|sMwVn*c6daV>?9>ljGZ{47>F#59T8bFl5As= zuxSc3yDdvwXd$%F0&RCs+bsq5(Lx`zP}-h8C}#_27rJ!&*wc2Qv|V<$r|km!eKT{V z(MU6zktO1kxjMgQ=FYwMzmNa^_rL%B@0}k!x#ZvPdEhNSkqqu4=_u*d*N&Ht)%iE! zet~#CMUvj4J-_D!C;)CLLb^wQy#a)#wrW<~9qb_dgpCf6LASw?&!)mXwr4`3d7X%u)Dc z)nKOoz~4mt#~=i+rU7*?nC6P(RgV*Kd4&-Tj(uA1PC~d-0ZRa@0LuVp0LULs2P_7h z0C+P%#N~Anp7rVQUbNN8c=t9y3*bz^Y5?nor15qD+x1+)d4RJ3t$;QF)5zmWdh=<| zo!XV}gu9@E--YnI2yiiA9Uu(o0Ym`n0U|E1LxyMlyGr+45q=xsiYoD9hWDd*jsp?^ z(%Tpy2@p80#=WRh;b(T8LfC1*3}6pHA8s$6-(>K6J^R1(gZzK6{|Au=xBsIO;0|~H z7xb|Zc_AMlosl)re+8~@1$1c7^t0obhF=$_9rs5AJb>kzzZE@i(8B0(vHy$b<8=4* z3uw21gJ4!~uAcLFX4i~z0#Fx*wR?gWf$&-%FHeiz>D*1b>RegcpNWB`)@)+70O z4#1I9#1&VL=GOs?{a(C(7v3EJyc=)>;6}hrfcF3n0{#;4SAh2d-UqlD@YjG_0PhEU z0PsP;t$^DA9|C+Ba68}*z#+h$fR6w^3SfQ(Fc0^@?_R)tfKLEE3HTJiiatc%-Rs85@YxhxVYC`^$QJ%cC6=j=JN-5;wEP6cUP_-4*IQoAt@ay@r z{+-$VQoLBBy?ht02LNvWXY0N3To0%#j!|Y@;Q;K{i9%10DwG$~D5dg+^sleA%Arbq z$=ijGkGqdY{p&sp$Vrg@k4zg(g0?0?3*F*h>& z^)86{A7ur~9(M8T%O8a_u?hT_bG;Z!oIy(nJhCz)&|@pVZvlStGS0v3;wQfp{I3TX zGiZNunJlh$=e;5)E420(@`doXx>Al3{AVlh=74t-%1`b-1g_3Gcpg;A(Wi2&7gOi_ zcL5�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 VcAJQAo*Ps{1t;)VcxB7${{b;AU3dTh delta 3771 zcmeHJZE#an8ouWyX_J1DCMg7jG;L`Osexwu0flr7q+1Iuq~S}~#ae93AfQA{6hk!^ z2L0nK1NU)kDFcW~WycKf4t-}jPR(+WF_ z`(yv?nR)I#=Y7vT=RNPobFT8WN%>Sh99OyZ#vtGsqZ1w5Q+#(2v!2Cw`AY*=slmn zi!LPGO;|*@i?En*AEAWsEq&vqcLkx6P(@fuSVq`Na1rc0l_##GK{dgF!?wFl^tkY; zxvrEIxy_$d+I%!~8=>~5;J7O9E9r@xK4mx{^PK~po8y3Vt^HtYy@_Vh42GhvwFtYURvOGzF`B%H~QQ=b4>w#mFt>fw%vdkrIib8yJ!ka zig*O2(rO^Ye&CSihLcl(Q=**UB^Yb1p+1L`$DA(sMdd2dNJ}~~TKSSSo>f7q@~zsN z9Xv+w#|ith<0t5Sfbb+CK}ZswB0Nptb@5r1+sYkosw-j>+!3V3sX!&_aG>)6;!1AeuA+$5}pstd9wuNTg`f|8PR_j6Xj_!4@qxYlwg9M z#Yk4XsP4OH&Y!$o4Ss8v`w6KZobNECPJ)4e%Di<1UEOa|Y>1!s#|-)=6= z(IQdbW#t)MZpIE6uU`y%s9yK+f8aKY?lw%eeT372at=TtlMj;$HEp_E2-V+i&W){Q zA89V-#?){#eQxF$&mF6KTCL3193I0^i-`t(+B3cmp`SaDqciJu7jK`Bl68aLKGJZx zG4VMQuFi$SSHFCI^uBe@lb-~q>}OtsJ<>ywb)(GXLwKDVO1n!(CZecqVYU6|Gxl&g z)X9Y=Aqn07I=KYl^)>jDX%Up{JG0&u(D!pBrTe8vi7Wc0<-`vAsK;i^6$@0zPRKEb z8gr?!JY?F!?1##!wY5Jx*M9cnH-?-@LpJ)OUPwePKyo*T{dp$Fy; zd+h-to}?6)x`>GOOM7UO7Kz;>Nlb9F8t&}~;tw76f+-R+I|~WF@2Fvs>S(p{rNjkf zcv-AM(vcP`G2z%`6C72h)){RRlFk=#?Ta#T0N0`+(U0Nv0URH(qH9ww^7s{sj4h(NF%^K@7Q*4DOe9lhH|%^wSae0DUy-l@hqrwF9lO5W*W2gk#(BQOu7_ zETbt4+kh4>q0Yl+_0NofN8VhTkw%)n?Ow0r;=Sh-Dt%jbu`4 z=>}^fb-9WSou!%vR!lD4VAF4N{&g^Pq6*1s$_=I}&N)L~$Tdh~ZkQfBmrJL!>M2XH zER*XSaPDXwx{v<#dk3#Rvt7pFE!A4}gFh7rw<)TZu2RlmzUYlzZ$YDbh`N1^qVpzI z@Fknes2JaSS?3RC2V<2i%|?VxVxHw|*iaGAMr}I1F(DaJgJ_pUXD7iOF`afXcvQ?` z=!cFW)n3FjR@6!Rae{Lk;fl1$@i3*=J^yE}j_TX6&sCj$dYFBd+=_kn6Wi=1);YjT zW6x#QPU-U7L^)xmo?j_30cBelv0Xd0;`6TwErakZ{weI$fBrc8cjL-P0GVzd^N~8* zfXrAC!lS-Lx1k{EkMo%XWQ#=Qe#L~dZ}#GHd|Z3~Vq+nG`FW%E*k=PWuHE6{1L6J{Y1x8TCOK zanm1A#n`=?vRM%e0}V|pdjrjV!Tvz=&fXu@_x9~->T76zwpITSr-mQF>%-eM&%2-J ze`kW5?#7%-y=9+nMjRROqjJKHzUy5W>hzFLEYJcQZ#h3_J^BT%7~4N@4nb?_&B6r7 z_070EQir;ScO!n|J<&rxUO^)dinlpvgFFn4FLN@#a|_aCdovyaJFf>Y{`E2O6i$pq m@!Rp246|_NA0GN(aH}FP_|;+zjJY6Re Contacts { get; set; } + public List Vineyards { get; set; } + public List
Addresses { get; set; } + } +} diff --git a/uWine.Core.Domain/Entities/Role.cs b/uWine.Core.Domain/Entities/Role.cs new file mode 100644 index 0000000..2061674 --- /dev/null +++ b/uWine.Core.Domain/Entities/Role.cs @@ -0,0 +1,9 @@ +namespace uWine.Core.Domain.Entities +{ + public class Role + { + public int Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + } +} diff --git a/uWine.Core.Domain/Entities/User.cs b/uWine.Core.Domain/Entities/User.cs new file mode 100644 index 0000000..7e7fa49 --- /dev/null +++ b/uWine.Core.Domain/Entities/User.cs @@ -0,0 +1,12 @@ +namespace uWine.Core.Domain.Entities +{ + public class User + { + public int Id { get; set; } + public string Username { get; set; } + public string Password { get; set; } + public Role Role { get; set; } + public bool Active { get; set; } + public List Owners { get; set; } + } + } diff --git a/uWine.Core.Domain/Repositories/IAddressRepository.cs b/uWine.Core.Domain/Repositories/IAddressRepository.cs new file mode 100644 index 0000000..ae67d28 --- /dev/null +++ b/uWine.Core.Domain/Repositories/IAddressRepository.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using uWine.Core.Domain.Entities; + +namespace uWine.Core.Domain.Repositories +{ + public interface IAddressRepository + { + void Insert(Address address); + List
OwnerAddresses(int OwnerId); + } +} diff --git a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs index 6bc204c..ac94dba 100644 --- a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs +++ b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c1cce144adfdc03c9b6cea5b0475d00d396c5979")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9036616a5922f1fdddd933a21ff41597a22b9d12")] [assembly: System.Reflection.AssemblyProductAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyTitleAttribute("uWine.Core.Domain")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache index afcfeec..4fcf865 100644 --- a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache +++ b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.AssemblyInfoInputs.cache @@ -1 +1 @@ -b4f9cdf42bbc6275dce25589f1009521fd28adc8121c348ed306aded774240ff +f4881d9a83679f0090798624563523a1b20e755faf7a53ce3f3323358a12e49b diff --git a/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.assets.cache b/uWine.Core.Domain/obj/Debug/net8.0/uWine.Core.Domain.assets.cache index a12e8b9e5e4754f2ee0314da22724fff1da3d6d1..28249a3b5a9c11c73bc949687d07c73a2fb2c2d4 100644 GIT binary patch literal 2579 zcmdT`%Wl&^6ip!^36KCuc?+qFN<0J(s)AHlAe987h$f2CmX#Mw?Au@%k5kVW)%*ag z*|B5G2k;AQS+M3KkXW$f-ZTyqG{q?Dq8;fd&ct(k=FIiE={;?&oz7%3zY4dPDnI*Q zZvA+)oGX5}O7OfZzrDZSi9SDEzVY_!r+g-}fcJe^XgsjDB!tqABnw^7wnQ`pWsjKi ziVZ>9zUPF247Qa8y9$K#0wFCP42PZ=T5KRy$Q(tJ_NsN)TCtg6JbpujZlDA*;c6a> zx>dIwX?Lbc(PuN-@AY>{CrR8#d4CT=vnRI=ezTlwGkMqfPVFbbj;l!SJ31iu& zEpTsOqjKDjS#NVn)1K0-X-<&(L~Rz;ChBu|eFE`rKK1`FJxy`q@O~P!}z3WfkO1-WR zNj+=o^m;z%I@TVe*YOcKLX0MgAR77+Cec*I`9;Ke#0A7f#3jTbIbuz{e#A*+nbcoK z^#@%7nhd=Jk|;CDxPmhDaTULmyHN{NZ?Ds~-T%+4s=n|U_FC+}xpDiQFD*+wre3tg zL`f4fytdc>YQ_jn3tx)*)ie@Q4%5QFayT~*+-o}9Oit61Y?t|vpZHL1%eFt_p5rMV zH(}co;O3q%E}_r|8SvNOW;eqKvb5)VS}^;D9#>qG64Yiqf_xYW<@r!-1fzI8a2U@j hq^>kUDo-%_TeJ}k=t1}AHu8>f<$mr}X4@6H^BYnEC@ug1 literal 153 zcmWIWc6a1qU|_J`{= 2.4.0" + ] }, "packageFolders": { "C:\\Users\\usardi\\.nuget\\packages\\": {} @@ -51,6 +241,12 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "MySqlConnector": { + "target": "Package", + "version": "[2.4.0, )" + } + }, "imports": [ "net461", "net462", diff --git a/uWine.Core.Domain/obj/project.nuget.cache b/uWine.Core.Domain/obj/project.nuget.cache index 47761b5..42f1b24 100644 --- a/uWine.Core.Domain/obj/project.nuget.cache +++ b/uWine.Core.Domain/obj/project.nuget.cache @@ -1,8 +1,12 @@ { "version": 2, - "dgSpecHash": "7bfu3DyTznk=", + "dgSpecHash": "xoU7wD+w/v0=", "success": true, "projectFilePath": "M:\\uv\\uWine\\uWine.Core.Domain\\uWine.Core.Domain.csproj", - "expectedPackageFiles": [], + "expectedPackageFiles": [ + "C:\\Users\\usardi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\usardi\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.2\\microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512", + "C:\\Users\\usardi\\.nuget\\packages\\mysqlconnector\\2.4.0\\mysqlconnector.2.4.0.nupkg.sha512" + ], "logs": [] } \ No newline at end of file diff --git a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json index 1ccc10a..cb03b6a 100644 --- a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json +++ b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.dgspec.json @@ -45,6 +45,12 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "MySqlConnector": { + "target": "Package", + "version": "[2.4.0, )" + } + }, "imports": [ "net461", "net462", diff --git a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.g.targets b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.g.targets index 3dc06ef..2e661a6 100644 --- a/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.g.targets +++ b/uWine.Core.Domain/obj/uWine.Core.Domain.csproj.nuget.g.targets @@ -1,2 +1,6 @@  - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/uWine.Core.Domain/uWine.Core.Domain.csproj b/uWine.Core.Domain/uWine.Core.Domain.csproj index fa71b7a..61bc29a 100644 --- a/uWine.Core.Domain/uWine.Core.Domain.csproj +++ b/uWine.Core.Domain/uWine.Core.Domain.csproj @@ -6,4 +6,8 @@ enable + + + + diff --git a/uWine.Core.Infrastructure/Repository/MariaDbAddressRepository.cs b/uWine.Core.Infrastructure/Repository/MariaDbAddressRepository.cs new file mode 100644 index 0000000..941aa9a --- /dev/null +++ b/uWine.Core.Infrastructure/Repository/MariaDbAddressRepository.cs @@ -0,0 +1,78 @@ +using Microsoft.Extensions.Configuration; +using uWine.Core.Domain.Entities; +using uWine.Core.Domain.Repositories; + +namespace uWine.Core.Infrastructure.Repository +{ + public class MariaDbAddressRepository : MariaDbServerRepository, IAddressRepository + { + public MariaDbAddressRepository(IConfiguration configuration) : base(configuration) + { + } + + public void Insert(Address address) + { + using (var connection = Connection()) + { + connection.Open(); + var command = connection.CreateCommand(); + command.CommandText = $@"INSERT INTO t_addresses ( + country, + postal_code, + county, + province, + city, + street, + house_number, + latitude, + longitude, + active + ) VALUES ( + @country, + @postal_code, + @county, + @province, + @city, + @street, + @house_number, + @latitude, + @longitude, + @active + )"; + command.Parameters.AddWithValue("@country", address.Country); + command.Parameters.AddWithValue("@postal_code", address.PostalCode); + command.Parameters.AddWithValue("@county", address.County); + command.Parameters.AddWithValue("@province", address.Province); + command.Parameters.AddWithValue("@city", address.City); + command.Parameters.AddWithValue("@street", address.Street); + command.Parameters.AddWithValue("@house_number", address.HouseNumber); + command.Parameters.AddWithValue("@latitude", address.Latitude); + command.Parameters.AddWithValue("@longitude", address.Longitude); + command.Parameters.AddWithValue("@active", address.Active ? 1 : 0); + command.ExecuteNonQuery(); + } + } + + public List
OwnerAddresses(int OwnerId) + { + var addresses = new List
(); + using (var connection = Connection()) + { + connection.Open(); + var command = connection.CreateCommand(); + command.CommandText = $@"SELECT a.* FROM t_addresses a + JOIN t_owners_addresses oa ON a.id = oa.address_id + WHERE oa.owner_id = @OwnerId"; + command.Parameters.AddWithValue("@OwnerId", OwnerId); + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + addresses.Add(Address.FromRecord(reader)); + } + } + } + return addresses; + } + } +} \ No newline at end of file diff --git a/uWine.Core.Infrastructure/uWine.Core.Infrastructure.csproj b/uWine.Core.Infrastructure/uWine.Core.Infrastructure.csproj index a6c3d6f..821dca6 100644 --- a/uWine.Core.Infrastructure/uWine.Core.Infrastructure.csproj +++ b/uWine.Core.Infrastructure/uWine.Core.Infrastructure.csproj @@ -12,4 +12,8 @@ + + + +