commit 8e92c983a240c0e2b65be1571dcd525502b86bcf Author: rahimi rahimi Date: Tue Jun 2 20:48:16 2026 +0330 first commit diff --git a/.vs/Complex/DesignTimeBuild/.dtbcache.v2 b/.vs/Complex/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000..caa4eb1 Binary files /dev/null and b/.vs/Complex/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/Complex/FileContentIndex/1b93180e-156d-49b0-a274-d3f7d56534c3.vsidx b/.vs/Complex/FileContentIndex/1b93180e-156d-49b0-a274-d3f7d56534c3.vsidx new file mode 100644 index 0000000..db752cb Binary files /dev/null and b/.vs/Complex/FileContentIndex/1b93180e-156d-49b0-a274-d3f7d56534c3.vsidx differ diff --git a/.vs/Complex/FileContentIndex/92a1fc4c-b937-478e-b1d2-3860870f396a.vsidx b/.vs/Complex/FileContentIndex/92a1fc4c-b937-478e-b1d2-3860870f396a.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/Complex/FileContentIndex/92a1fc4c-b937-478e-b1d2-3860870f396a.vsidx differ diff --git a/.vs/Complex/FileContentIndex/a712bb65-a6f3-4533-bb17-d0889dec4fba.vsidx b/.vs/Complex/FileContentIndex/a712bb65-a6f3-4533-bb17-d0889dec4fba.vsidx new file mode 100644 index 0000000..a7af063 Binary files /dev/null and b/.vs/Complex/FileContentIndex/a712bb65-a6f3-4533-bb17-d0889dec4fba.vsidx differ diff --git a/.vs/Complex/FileContentIndex/c05b3d20-bdaa-4310-86c7-5b778097415f.vsidx b/.vs/Complex/FileContentIndex/c05b3d20-bdaa-4310-86c7-5b778097415f.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/Complex/FileContentIndex/c05b3d20-bdaa-4310-86c7-5b778097415f.vsidx differ diff --git a/.vs/Complex/FileContentIndex/cc45b445-eac1-4272-9f16-236881d20521.vsidx b/.vs/Complex/FileContentIndex/cc45b445-eac1-4272-9f16-236881d20521.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/Complex/FileContentIndex/cc45b445-eac1-4272-9f16-236881d20521.vsidx differ diff --git a/.vs/Complex/config/applicationhost.config b/.vs/Complex/config/applicationhost.config new file mode 100644 index 0000000..cdd2df8 --- /dev/null +++ b/.vs/Complex/config/applicationhost.config @@ -0,0 +1,1026 @@ + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.vs/Complex/v17/.futdcache.v1 b/.vs/Complex/v17/.futdcache.v1 new file mode 100644 index 0000000..5675fee Binary files /dev/null and b/.vs/Complex/v17/.futdcache.v1 differ diff --git a/.vs/Complex/v17/.futdcache.v2 b/.vs/Complex/v17/.futdcache.v2 new file mode 100644 index 0000000..d161a7f Binary files /dev/null and b/.vs/Complex/v17/.futdcache.v2 differ diff --git a/.vs/Complex/v17/.suo b/.vs/Complex/v17/.suo new file mode 100644 index 0000000..669a146 Binary files /dev/null and b/.vs/Complex/v17/.suo differ diff --git a/.vs/Complex/v17/DocumentLayout.backup.json b/.vs/Complex/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..4a79e2c --- /dev/null +++ b/.vs/Complex/v17/DocumentLayout.backup.json @@ -0,0 +1,71 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\Data\\Projects\\Nabak\\Complex\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|d:\\data\\projects\\nabak\\complex\\complex.application\\services\\basic\\chargecycleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|solutionrelative:complex.application\\services\\basic\\chargecycleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7136066A-2238-481B-A4AD-BCE811506901}|Complex.EndPoint\\Complex.EndPoint.csproj|d:\\data\\projects\\nabak\\complex\\complex.endpoint\\controllers\\managecostcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7136066A-2238-481B-A4AD-BCE811506901}|Complex.EndPoint\\Complex.EndPoint.csproj|solutionrelative:complex.endpoint\\controllers\\managecostcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|d:\\data\\projects\\nabak\\complex\\complex.application\\services\\unit\\unitservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|solutionrelative:complex.application\\services\\unit\\unitservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 1, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "UnitService.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Unit\\UnitService.cs", + "RelativeDocumentMoniker": "Complex.Application\\Services\\Unit\\UnitService.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Unit\\UnitService.cs", + "RelativeToolTip": "Complex.Application\\Services\\Unit\\UnitService.cs", + "ViewState": "AgIAAIwAAAAAAAAAAAAhwJYAAAA1AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:24:55.285Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "ChargeCycleService.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "RelativeDocumentMoniker": "Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "RelativeToolTip": "Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "ViewState": "AgIAAC0BAAAAAAAAAAA7wIABAAAFAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:04:28.478Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "ManageCostController.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.EndPoint\\Controllers\\ManageCostController.cs", + "RelativeDocumentMoniker": "Complex.EndPoint\\Controllers\\ManageCostController.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.EndPoint\\Controllers\\ManageCostController.cs", + "RelativeToolTip": "Complex.EndPoint\\Controllers\\ManageCostController.cs", + "ViewState": "AgIAACEAAAAAAAAAAAAqwCwAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:03:33.826Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/Complex/v17/DocumentLayout.json b/.vs/Complex/v17/DocumentLayout.json new file mode 100644 index 0000000..5a0fb64 --- /dev/null +++ b/.vs/Complex/v17/DocumentLayout.json @@ -0,0 +1,69 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\Data\\Projects\\Nabak\\Complex\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|d:\\data\\projects\\nabak\\complex\\complex.application\\services\\basic\\chargecycleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|solutionrelative:complex.application\\services\\basic\\chargecycleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7136066A-2238-481B-A4AD-BCE811506901}|Complex.EndPoint\\Complex.EndPoint.csproj|d:\\data\\projects\\nabak\\complex\\complex.endpoint\\controllers\\managecostcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7136066A-2238-481B-A4AD-BCE811506901}|Complex.EndPoint\\Complex.EndPoint.csproj|solutionrelative:complex.endpoint\\controllers\\managecostcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|d:\\data\\projects\\nabak\\complex\\complex.application\\services\\unit\\unitservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{2D82DF39-0B01-4EE8-A123-345865CD153E}|Complex.Application\\Complex.Application.csproj|solutionrelative:complex.application\\services\\unit\\unitservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 1, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "UnitService.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Unit\\UnitService.cs", + "RelativeDocumentMoniker": "Complex.Application\\Services\\Unit\\UnitService.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Unit\\UnitService.cs", + "RelativeToolTip": "Complex.Application\\Services\\Unit\\UnitService.cs", + "ViewState": "AgIAAIwAAAAAAAAAAAAhwJYAAAA1AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:24:55.285Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "ChargeCycleService.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "RelativeDocumentMoniker": "Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "RelativeToolTip": "Complex.Application\\Services\\Basic\\ChargeCycleService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:04:28.478Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "ManageCostController.cs", + "DocumentMoniker": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.EndPoint\\Controllers\\ManageCostController.cs", + "RelativeDocumentMoniker": "Complex.EndPoint\\Controllers\\ManageCostController.cs", + "ToolTip": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.EndPoint\\Controllers\\ManageCostController.cs", + "RelativeToolTip": "Complex.EndPoint\\Controllers\\ManageCostController.cs", + "ViewState": "AgIAACEAAAAAAAAAAAAqwCwAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-20T06:03:33.826Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/Complex/v17/HierarchyCache.v1.txt b/.vs/Complex/v17/HierarchyCache.v1.txt new file mode 100644 index 0000000..4ccf9cc Binary files /dev/null and b/.vs/Complex/v17/HierarchyCache.v1.txt differ diff --git a/.vs/ProjectEvaluation/complex.metadata.v9.bin b/.vs/ProjectEvaluation/complex.metadata.v9.bin new file mode 100644 index 0000000..04f24ac Binary files /dev/null and b/.vs/ProjectEvaluation/complex.metadata.v9.bin differ diff --git a/.vs/ProjectEvaluation/complex.projects.v9.bin b/.vs/ProjectEvaluation/complex.projects.v9.bin new file mode 100644 index 0000000..fc45dee Binary files /dev/null and b/.vs/ProjectEvaluation/complex.projects.v9.bin differ diff --git a/.vs/ProjectEvaluation/complex.strings.v9.bin b/.vs/ProjectEvaluation/complex.strings.v9.bin new file mode 100644 index 0000000..1417d66 Binary files /dev/null and b/.vs/ProjectEvaluation/complex.strings.v9.bin differ diff --git a/Complex.Application/Complex.Application.csproj b/Complex.Application/Complex.Application.csproj new file mode 100644 index 0000000..0995784 --- /dev/null +++ b/Complex.Application/Complex.Application.csproj @@ -0,0 +1,20 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + + + diff --git a/Complex.Application/IComplexDBContext.cs b/Complex.Application/IComplexDBContext.cs new file mode 100644 index 0000000..c4804e4 --- /dev/null +++ b/Complex.Application/IComplexDBContext.cs @@ -0,0 +1,36 @@ +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.ChangeTracking; + +namespace Complex.Application +{ + public interface IComplexDBContext + { + DbSet BasicTables { get; set; } + DbSet UnitStates { get; set; } + DbSet Chats { get; set; } + DbSet ComplexEntities { get; set; } + DbSet ComplexManagers { get; set; } + DbSet ComplexUnitEvents { get; set; } + DbSet Persons { get; set; } + DbSet ComplexPersons { get; set; } + + DbSet Posters { get; set; } + DbSet Transactions { get; set; } + DbSet IncomeCostTitles { get; set; } + DbSet TransactionTypes { get; set; } + DbSet UnitCosts { get; set; } + DbSet CostCycles { get; set; } + DbSet Units { get; set; } + DbSet UserTokens { get; set; } + DbSet SmsCodes { get; set; } + + EntityEntry Add(object entity); + object? Find(Type entityType, object keyId); + int SaveChanges(bool acceptAllChangesOnSuccess); + int SaveChanges(); + Task SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken = new CancellationToken()); + Task SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()); + EntityEntry Entry(object entity); + } +} \ No newline at end of file diff --git a/Complex.Application/Other/Common/Dto/CommonRequestDto.cs b/Complex.Application/Other/Common/Dto/CommonRequestDto.cs new file mode 100644 index 0000000..3e73ce4 --- /dev/null +++ b/Complex.Application/Other/Common/Dto/CommonRequestDto.cs @@ -0,0 +1,22 @@ +namespace Complex.Application.Common +{ + public class CommonRequestDto + { + /// + /// فیلد ترتیب + /// + public string? SortField { set; get; } + /// + /// نحوه ترتیب + /// + public SortDirection? sortDirection { set; get; } = SortDirection.asc; + + public int Page { set; get; } = 0; + public int Length { set; get; } = 10; + } + public enum SortDirection + { + asc, + desc + } +} diff --git a/Complex.Application/Other/Common/Dto/IBaseResponseDto.cs b/Complex.Application/Other/Common/Dto/IBaseResponseDto.cs new file mode 100644 index 0000000..aa40f21 --- /dev/null +++ b/Complex.Application/Other/Common/Dto/IBaseResponseDto.cs @@ -0,0 +1,7 @@ +namespace Complex.Application.Common +{ + public interface IBaseResponseDto + { + List Action { set; get; } + } +} diff --git a/Complex.Application/Other/Common/Dto/ResultDto.cs b/Complex.Application/Other/Common/Dto/ResultDto.cs new file mode 100644 index 0000000..0cd7f20 --- /dev/null +++ b/Complex.Application/Other/Common/Dto/ResultDto.cs @@ -0,0 +1,26 @@ +namespace Complex.Common.Dto +{ + public class ResultDto + { + public bool IsSuccess { get; set; } + public string Message { get; set; } + } + + public class ResultDto + { + public ResultDto() + { + + } + public ResultDto(T data,bool isSuccess=true) + { + Data = data; + IsSuccess = isSuccess; + } + public bool IsSuccess { get; set; } + public string Message { get; set; } + public T Data { get; set; } + public int RowCount { set; get; } + } + +} diff --git a/Complex.Application/Other/Common/EnumHelpers.cs b/Complex.Application/Other/Common/EnumHelpers.cs new file mode 100644 index 0000000..6bbdc9f --- /dev/null +++ b/Complex.Application/Other/Common/EnumHelpers.cs @@ -0,0 +1,71 @@ +using System.ComponentModel.DataAnnotations; +using System.Reflection; + +namespace Complex.Common +{ + public static class EnumHelpers + { + public static IList GetValues(Enum value) + { + var enumValues = new List(); + + foreach (FieldInfo fi in value.GetType().GetFields(BindingFlags.Static | BindingFlags.Public)) + { + enumValues.Add((T)Enum.Parse(value.GetType(), fi.Name, false)); + } + return enumValues; + } + + public static T Parse(string value) + { + return (T)Enum.Parse(typeof(T), value, true); + } + + public static IList GetNames(Enum value) + { + return value.GetType().GetFields(BindingFlags.Static | BindingFlags.Public).Select(fi => fi.Name).ToList(); + } + + public static IList GetDisplayValues(Enum value) + { + return GetNames(value).Select(obj => GetDisplayValue(Parse(obj))).ToList(); + } + + private static string lookupResource(Type resourceManagerProvider, string resourceKey) + { + foreach (PropertyInfo staticProperty in resourceManagerProvider.GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public)) + { + if (staticProperty.PropertyType == typeof(System.Resources.ResourceManager)) + { + System.Resources.ResourceManager resourceManager = (System.Resources.ResourceManager)staticProperty.GetValue(null, null); + return resourceManager.GetString(resourceKey); + } + } + + return resourceKey; // Fallback with the key name + } + + public static string GetDisplayValue(T value) + { + try + { + var fieldInfo = value.GetType().GetField(value.ToString()); + + var descriptionAttributes = fieldInfo.GetCustomAttributes( + typeof(DisplayAttribute), false) as DisplayAttribute[]; + + if (descriptionAttributes[0].ResourceType != null) + return lookupResource(descriptionAttributes[0].ResourceType, descriptionAttributes[0].Name); + + if (descriptionAttributes == null) return string.Empty; + return (descriptionAttributes.Length > 0) ? descriptionAttributes[0].Name : value.ToString(); + } + catch (Exception) + { + + return "نا مشخص"; + } + + } + } +} diff --git a/Complex.Application/Other/Common/FileIO.cs b/Complex.Application/Other/Common/FileIO.cs new file mode 100644 index 0000000..1f44be7 --- /dev/null +++ b/Complex.Application/Other/Common/FileIO.cs @@ -0,0 +1,81 @@ +using System.Text; + +namespace Complex.Application.Common +{ + public class FileIO + { + //============================================================== + + public FileIO() + { + // + // TODO: Add constructor logic here + // + } + //============================================================== + + /// + /// ثبت محتوا در یک فایل + /// + /// نام فایل + /// محتوای فایل + public static void Write(string fileName, string content, bool activeInServer = false) + { + //if (!SystemDefine.IsLocal && !activeInServer) + // return; + //System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("/FileIO/" + fileName), content, Encoding.UTF8); + Writeln(fileName, content, activeInServer); + } + //============================================================== + + public static void Clear(string fileName) + { + //return; + System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/FileIO/" + fileName, "", Encoding.UTF8); + } + //============================================================== + + /// + /// ثبت محتوا در یک فایل در یک خط جدید + /// + /// نام فایل + /// محتوای فایل + public static void Writeln(string fileName, string content, bool activeInServer = false) + { + + //try + { + + System.IO.File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory + "/FileIO/" + fileName, content + "\r\n", Encoding.UTF8); + } + //catch { } + } + //============================================================== + + /// + /// ثبت محتوا در یک فایل در یک خط جدید + /// + /// نام فایل + /// محتوای فایل + public static void Writeln(string fileName, string description, Exception exc, bool activeInServer = false) + { + //if (!SystemDefine.IsLocal && !activeInServer) + // return; + + try + { + Writeln(fileName, ">>>>>>"); + Writeln(fileName, description); + while (exc != null) + { + Writeln(fileName, exc.Message); + Writeln(fileName, exc.StackTrace); + exc = exc.InnerException; + } + Writeln(fileName, "<<<<<<"); + } + catch { } + } + //============================================================== + } +} diff --git a/Complex.Application/Other/Common/Pagination.cs b/Complex.Application/Other/Common/Pagination.cs new file mode 100644 index 0000000..b316c1c --- /dev/null +++ b/Complex.Application/Other/Common/Pagination.cs @@ -0,0 +1,44 @@ +using System.Linq.Dynamic.Core; + +namespace Complex.Application.Common +{ + public static class Pagination + { + public static IQueryable ToPagedByOrder(this IQueryable source, + CommonRequestDto commonRequest, out int rowsCount) + { + if (commonRequest.Length < 0) + commonRequest.Length = 20000; + if (commonRequest.Length == 0) + commonRequest.Length = 10; + + rowsCount = source.Count(); + + if (commonRequest.sortDirection == SortDirection.desc) + commonRequest.SortField += " DESC"; + + source = source.OrderBy(commonRequest.SortField); + + return source.Skip(commonRequest.Page * commonRequest.Length).Take(commonRequest.Length); + } + public static IQueryable ToPaged(this IQueryable source, int page, int pageSize, out int rowsCount) + { + if (pageSize == -1) + pageSize = 20000; + if (pageSize == 0) + pageSize = 10; + + rowsCount = source.Count(); + return source.Skip(page * pageSize).Take(pageSize); + } + public static IQueryable ToPaged(this IQueryable source, int page, int pageSize) + { + if (pageSize == -1) + pageSize = 20000; + if (pageSize == 0) + pageSize = 10; + + return source.Skip(page * pageSize).Take(pageSize); + } + } +} diff --git a/Complex.Application/Other/Common/PasswordHasher.cs b/Complex.Application/Other/Common/PasswordHasher.cs new file mode 100644 index 0000000..a01b435 --- /dev/null +++ b/Complex.Application/Other/Common/PasswordHasher.cs @@ -0,0 +1,238 @@ +//using Microsoft.AspNetCore.Cryptography.KeyDerivation; +//using System; +//using System.Runtime.CompilerServices; +//using System.Security.Cryptography; +//using System.Text; + +//namespace Complex.Common +//{ +// public class PasswordHasher +// { +// // Format Markers: +// // IdentityV2: PBKDF2 with HMAC-SHA1, 128-bit salt, 256-bit subkey, 1000 iterations. +// // IdentityV2 Format: { 0x00(byte), salt, subkey } +// // IdentityV3: PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, 10000 iterations. +// // IdentityV3 Format: { 0x01(byte), prf(UInt32), iter count(UInt32), salt length(UInt32), salt, subkey } +// // Custom = PBKDF2 with custom configuration. +// // Format: { 0xC0(byte), salt, subkey } OR +// // { 0xC0(byte), prf(UInt32), iter count(UInt32), salt length(UInt32), salt, subkey } +// // Header Info: _includeHeaderInfo +// // IdentityV3 includes configuration in the header, IdentityV2 does not. +// // Use AspNetCore: _useAspNetCore +// // Microsoft.AspNetCore.Cryptography.KeyDerivation is required +// // else use System.Security.Cryptography + +// private readonly bool _useAspNetCore; +// private readonly byte _formatMarker; +// private readonly KeyDerivationPrf _prf; // Requires Microsoft.AspNetCore +// private readonly HashAlgorithmName _hashAlgorithmName; +// private readonly bool _includeHeaderInfo; +// private readonly int _saltLength; +// private readonly int _requestedLength; +// private readonly int _iterCount; + +// public PasswordHasher() +// { +// _useAspNetCore = true; + +// // IdentityV2 +// //_formatMarker = 0x00; +// //_prf = KeyDerivationPrf.HMACSHA1; // Requires Microsoft.AspNetCore +// //_hashAlgorithmName = HashAlgorithmName.SHA1; +// //_includeHeaderInfo = false; +// //_saltLength = 128 / 8; // bits/1 byte = 16 +// //_requestedLength = 256 / 8; // bits/1 byte = 32 +// //_iterCount = 1000; + +// // IdentityV3 +// _formatMarker = 0x01; +// _prf = KeyDerivationPrf.HMACSHA256; // Requires Microsoft.AspNetCore +// _hashAlgorithmName = HashAlgorithmName.SHA256; +// _includeHeaderInfo = true; +// _saltLength = 128 / 8; // bits/1 byte = 16 +// _requestedLength = 256 / 8; // bits/1 byte = 32 +// _iterCount = 10000; + +// // Custom Max +// //_formatMarker = 0xC0; +// //_prf = KeyDerivationPrf.HMACSHA512; // Requires Microsoft.AspNetCore +// //_hashAlgorithmName = HashAlgorithmName.SHA512; +// //_includeHeaderInfo = true; +// //_saltLength = 512 / 8; // bits/1 byte = 64 +// //_requestedLength = 512 / 8; // bits/1 byte = 64 +// //_iterCount = 100000; +// } + +// public string HashPassword(string password) +// { +// if (string.IsNullOrEmpty(password)) throw new ArgumentNullException(nameof(password)); + +// byte[] salt = new byte[_saltLength]; +// using (var rng = RandomNumberGenerator.Create()) +// { +// rng.GetBytes(salt); +// } + +// byte[] subkey = new byte[_requestedLength]; +// if (_useAspNetCore) +// { +// subkey = KeyDerivation.Pbkdf2(password, salt, _prf, _iterCount, _requestedLength); +// } +// else +// { +// using var pbkdf2 = new Rfc2898DeriveBytes(password, salt, _iterCount, _hashAlgorithmName); +// subkey = pbkdf2.GetBytes(_requestedLength); +// } + +// var headerByteLength = 1; // Format marker only +// if (_includeHeaderInfo) headerByteLength = 13; + +// var outputBytes = new byte[headerByteLength + salt.Length + subkey.Length]; + +// outputBytes[0] = (byte)_formatMarker; + +// if (_includeHeaderInfo) +// { +// if (_useAspNetCore) +// { +// WriteNetworkByteOrder(outputBytes, 1, (uint)_prf); +// } +// else +// { +// var shaInt = 1; +// if (_hashAlgorithmName == HashAlgorithmName.SHA1) shaInt = 0; +// else if (_hashAlgorithmName == HashAlgorithmName.SHA256) shaInt = 1; +// else if (_hashAlgorithmName == HashAlgorithmName.SHA512) shaInt = 2; + +// WriteNetworkByteOrder(outputBytes, 1, (uint)shaInt); +// } + +// WriteNetworkByteOrder(outputBytes, 5, (uint)_iterCount); +// WriteNetworkByteOrder(outputBytes, 9, (uint)_saltLength); +// } + +// Buffer.BlockCopy(salt, 0, outputBytes, headerByteLength, salt.Length); +// Buffer.BlockCopy(subkey, 0, outputBytes, headerByteLength + _saltLength, subkey.Length); + +// return Convert.ToBase64String(outputBytes); +// } + +// public bool VerifyPassword(string hashedPassword, string enteredPassword) +// { +// if (string.IsNullOrEmpty(enteredPassword) || string.IsNullOrEmpty(hashedPassword)) return false; + +// byte[] decodedHashedPassword; +// try +// { +// decodedHashedPassword = Convert.FromBase64String(hashedPassword); +// } +// catch (Exception) +// { +// return false; +// } + +// if (decodedHashedPassword.Length == 0) return false; + +// // Read the format marker +// var verifyMarker = (byte)decodedHashedPassword[0]; +// if (_formatMarker != verifyMarker) return false; + +// try +// { +// if (_includeHeaderInfo) +// { +// // Read header information +// var shaUInt = (uint)ReadNetworkByteOrder(decodedHashedPassword, 1); +// var verifyPrf = shaUInt switch +// { +// 0 => KeyDerivationPrf.HMACSHA1, +// 1 => KeyDerivationPrf.HMACSHA256, +// 2 => KeyDerivationPrf.HMACSHA512, +// _ => KeyDerivationPrf.HMACSHA256, +// }; +// if (_prf != verifyPrf) return false; + +// var verifyAlgorithmName = shaUInt switch +// { +// 0 => HashAlgorithmName.SHA1, +// 1 => HashAlgorithmName.SHA256, +// 2 => HashAlgorithmName.SHA512, +// _ => HashAlgorithmName.SHA256, +// }; +// if (_hashAlgorithmName != verifyAlgorithmName) return false; + +// int iterCountRead = (int)ReadNetworkByteOrder(decodedHashedPassword, 5); +// if (_iterCount != iterCountRead) return false; + +// int saltLengthRead = (int)ReadNetworkByteOrder(decodedHashedPassword, 9); +// if (_saltLength != saltLengthRead) return false; +// } + +// var headerByteLength = 1; // Format marker only +// if (_includeHeaderInfo) headerByteLength = 13; + +// // Read the salt +// byte[] salt = new byte[_saltLength]; +// Buffer.BlockCopy(decodedHashedPassword, headerByteLength, salt, 0, salt.Length); + +// // Read the subkey (the rest of the payload) +// int subkeyLength = decodedHashedPassword.Length - headerByteLength - salt.Length; + +// if (_requestedLength != subkeyLength) return false; + +// byte[] expectedSubkey = new byte[subkeyLength]; +// Buffer.BlockCopy(decodedHashedPassword, headerByteLength + salt.Length, expectedSubkey, 0, expectedSubkey.Length); + +// // Hash the incoming password and verify it +// byte[] actualSubkey = new byte[_requestedLength]; +// if (_useAspNetCore) +// { +// actualSubkey = KeyDerivation.Pbkdf2(enteredPassword, salt, _prf, _iterCount, subkeyLength); +// } +// else +// { +// using var pbkdf2 = new Rfc2898DeriveBytes(enteredPassword, salt, _iterCount, _hashAlgorithmName); +// actualSubkey = pbkdf2.GetBytes(_requestedLength); +// } + +// return ByteArraysEqual(actualSubkey, expectedSubkey); +// } +// catch +// { +// // This should never occur except in the case of a malformed payload, where +// // we might go off the end of the array. Regardless, a malformed payload +// // implies verification failed. +// return false; +// } +// } + +// // Compares two byte arrays for equality. The method is specifically written so that the loop is not optimized. +// [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] +// private static bool ByteArraysEqual(byte[] a, byte[] b) +// { +// if (a == null && b == null) return true; +// if (a == null || b == null || a.Length != b.Length) return false; +// var areSame = true; +// for (var i = 0; i < a.Length; i++) { areSame &= (a[i] == b[i]); } +// return areSame; +// } + +// private static uint ReadNetworkByteOrder(byte[] buffer, int offset) +// { +// return ((uint)(buffer[offset + 0]) << 24) +// | ((uint)(buffer[offset + 1]) << 16) +// | ((uint)(buffer[offset + 2]) << 8) +// | ((uint)(buffer[offset + 3])); +// } + +// private static void WriteNetworkByteOrder(byte[] buffer, int offset, uint value) +// { +// buffer[offset + 0] = (byte)(value >> 24); +// buffer[offset + 1] = (byte)(value >> 16); +// buffer[offset + 2] = (byte)(value >> 8); +// buffer[offset + 3] = (byte)(value >> 0); +// } +// } + + +//} diff --git a/Complex.Application/Other/Mapping/MappingProfile.cs b/Complex.Application/Other/Mapping/MappingProfile.cs new file mode 100644 index 0000000..e759314 --- /dev/null +++ b/Complex.Application/Other/Mapping/MappingProfile.cs @@ -0,0 +1,36 @@ +using AutoMapper; +using Complex.Application.Basic; +using Complex.Application.Complex; +using Complex.Application.PersonService; +using Complex.Application.Services.Basic; +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; + +namespace Complex.Mapping; + +public partial class MappingProfile : Profile +{ + public MappingProfile() + { + //CreateMap().ReverseMap(); + //CreateMap() + //.ForMember(m => m.InsertTime, m => m.MapFrom(src => EF.Property(src, "InsertTime"))) + //.ForMember(m => m.UpdateTime, m => m.MapFrom(src => EF.Property(src, "UpdateTime"))); + + CreateMap().ReverseMap(); + + //.ReverseMap(); + CreateMap().ReverseMap(); + + //CreateMap() + //.ForMember(m => m.InsertTime, m => m.MapFrom(src => EF.Property(src, "InsertTime"))) + //.ForMember(m => m.UpdateTime, m => m.MapFrom(src => EF.Property(src, "UpdateTime"))); + //.ReverseMap(); + + CreateMap().ReverseMap(); + + CreateMap().ReverseMap(); + + CreateMap().ReverseMap(); + } +} \ No newline at end of file diff --git a/Complex.Application/Other/Utility/PersianDate.cs b/Complex.Application/Other/Utility/PersianDate.cs new file mode 100644 index 0000000..18aa59b --- /dev/null +++ b/Complex.Application/Other/Utility/PersianDate.cs @@ -0,0 +1,295 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text.RegularExpressions; + +namespace Complex.Application.Utility +{ + public class PersianDate + { + public struct PDate + { + public int Year { set; get; } + public int Month { set; get; } + public int Day { set; get; } + } + public PersianDate() + { + + } + public static DateTime CurrentDate + { + get + { + return DateTime.Now; + } + }//= DateTime.Now; + public static PersianCalendar persianDate = new PersianCalendar(); + + public static DateTime ConvertToMiladi(string PersianDateString) + { + if (PersianDateString.IsNullOrEmpty()) + return new DateTime(); + DateTime date; + var splitP = PersianDateString.Substring(0, 10).Split("- /".ToCharArray()).Select(d => d.ToInt().Value).ToArray(); + date = new DateTime(splitP[0], splitP[1], splitP[2], persianDate); + return date; + } + + public static int CurrentPersianYear + { + get + { + return persianDate.GetYear(CurrentDate); + } + } + public static int CurrentPersianMonth + { + get + { + return persianDate.GetMonth(CurrentDate); + } + } + public static int CurrentPersianDay + { + get + { + return persianDate.GetDayOfMonth(CurrentDate); + } + } + public static List PersianWeekDay = new List() + { + "شنبه", + "یکشنبه", + "دوشنبه", + "سه شنبه", + "چهارشنبه", + "پنج شنبه", + "جمعه" + }; + public static List PersianMonth = new List() + { + "فروردین", + "اردیبهشت", + "خرداد", + "تیر", + "مرداد", + "شهریور", + "مهر", + "آبان", + "آذر", + "دی", + "بهمن", + "اسفند" + }; + public static string CurrentMonth + { + get + { + return PersianMonth[persianDate.GetMonth(DateTime.Now) - 1]; + } + } + public static string CurrntWeekDay + { + get + { + try + { + var d = (int)persianDate.GetDayOfWeek(DateTime.Now); + if (d == 6) + d = -1; + return PersianWeekDay[d + 1]; + } + catch { return persianDate.GetDayOfWeek(DateTime.Now).ToString() + "," + (int)persianDate.GetDayOfWeek(DateTime.Now); } + } + } + public static int CurrentDaysInMonth + { + get + { + return persianDate.GetDaysInMonth(CurrentPersianYear, CurrentPersianMonth); + } + } + public static int StartDayInWeek(int Year, int Month) + { + DateTime dt = ConvertToMiladi(Year + "/" + Month.ToString().PadLeft(2, '0') + "/01"); + var d = (int)dt.DayOfWeek; + if (d == 6) + d = -1; + return d + 1; + } + public static int CurrentDayInWeek + { + get + { + try + { + var d = (int)persianDate.GetDayOfWeek(DateTime.Now); + if (d == 6) + d = -1; + return d + 1; + } + catch { return 0; } + } + } + + public static string GetToday() + { + return GetDate(DateTime.Now); + + //return Year + "/" + ((Month < 10) ? "0" + Month : Month.ToString()) + ((Day < 10) ? "0" + Day : Day.ToString()); + } + public static string GetDateStringFormat(string date, bool showIntervalDate = false) + { + if (date.IsNullOrEmpty()) + return "--"; + date = date.Trim(); + string today = GetToday(); + if (date == today) + return "امروز"; + string yesterday = GetDate(DateTime.Now.AddDays(-1)); + if (yesterday == today) + return "دیروز"; + string twoYesterday = GetDate(DateTime.Now.AddDays(-2)); + if (twoYesterday == today) + return "دو روز پیش"; + string treeYesterday = GetDate(DateTime.Now.AddDays(-3)); + if (treeYesterday == today) + return "سه روز پیش"; + if (showIntervalDate) + { + var m1 = ConvertToMiladi(date); + var diff = DateTime.Now - m1; + + return (int)diff.TotalDays + " روز پیش"; + } + else + return date.Substring(8).ToInt() + " " + PersianMonth[date.Substring(5, 2).ToInt().Value - 1] + " ماه " + date.Substring(0, 4); + } + + public static int? GetDateDiff(string date1, string date2) + { + if (date1.IsNullOrEmpty() || date2.IsNullOrEmpty()) + return null; + string today = GetToday(); + var m1 = ConvertToMiladi(date1); + var m2 = ConvertToMiladi(date2); + var diff = m2 - m1; + + return (int)diff.TotalDays; + } + + public static string GetDate(DateTime day) + { + int Year = persianDate.GetYear(day); + int Month = persianDate.GetMonth(day); + int Day = persianDate.GetDayOfMonth(day); + + return string.Format("{0:D2}/{1:D2}/{2:D2}", Year, Month, Day); + //return Year + "/" + ((Month < 10) ? "0" + Month : Month.ToString()) + ((Day < 10) ? "0" + Day : Day.ToString()); + } + public static PDate GetPDate(DateTime day) + { + PDate pdate = new PDate(); + pdate.Year = persianDate.GetYear(day); + pdate.Month = persianDate.GetMonth(day); + pdate.Day = persianDate.GetDayOfMonth(day); + return pdate; + } + public static string ToStandard(string _date) + { + if (_date.IsNullOrEmpty()) + return _date; + try + { + var a = _date.Split('/').Select(i => i.ToInt().Value).ToArray(); + if (a.Count() < 2) + return _date; + return string.Format("{0:D2}/{1:D2}/{2:D2}", a[0], a[1], a[2]); + } + catch + { + return ""; + } + //return Year + "/" + ((Month < 10) ? "0" + Month : Month.ToString()) + ((Day < 10) ? "0" + Day : Day.ToString()); + } + + public static string GetNowTime(bool BySecond = false, bool ByMiliSecond = false) + { + DateTime dnow = DateTime.Now; + return GetTime(dnow, BySecond, ByMiliSecond); + } + public static string GetTime(DateTime DT, bool BySecond = false, bool ByMiliSecond = false) + { + int minutes = DT.Minute; + int Hour = DT.Hour; + int Second = DT.Second; + bool AN = DT.ToLongTimeString().ToLower().Contains("pm") || DT.ToLongTimeString().Contains("ب"); + + if (AN && Hour < 12) + Hour += 12; + + string time = string.Format("{0:D2}:{1:D2}", Hour, minutes); //((Hour < 10) ? "0" + Hour : Hour.ToString()) + ":" + ((minutes < 10) ? "0" + minutes : minutes.ToString()); + if (BySecond) + time += ":" + (Second < 10 ? "0" + Second : Second.ToString()); + if (ByMiliSecond) + time += ":" + DT.Millisecond; + + return time; + } + + public static string GetNowDateTime(bool BySecond = false, bool ByMiliSecond = false) + { + return GetToday() + " - " + GetNowTime(BySecond, ByMiliSecond); + } + + public static string GetDateTime(DateTime DT, bool BySecond = false) + { + return GetDate(DT) + " - " + GetTime(DT, BySecond); + } + + /// + /// محاسبه اختلاف دو زمان به ساعت و دقیقه + /// + /// زمان شروع + /// زمان پایان + /// + public static string GetTimeDiff(string beginTime, string endTime) + { + var begin = beginTime.Split(':').Select(int.Parse).ToArray(); + var end = endTime.Split(':').Select(int.Parse).ToArray(); + int beginMinutes = begin[0] * 60 + begin[1]; + int endMinutes = end[0] * 60 + end[1]; + + int diffMinutes = endMinutes - beginMinutes; + + int hour = diffMinutes / 60; + int minute = diffMinutes % 60; + + return string.Format("{0:D2}:{1:D2}", hour, minute); + } + + /// + /// بررسی صحت یک رشته از نظر فرمت تاریخ + /// + /// تاریخ + /// + public static bool HasDateFormat(string date) + { + Regex regex = new Regex(@"^([12]\d{3}\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01]))$"); + return regex.IsMatch(date); + } + + /// + /// بررسی صحت یک رشته از نظر فرمت زمان + /// + /// زمان + /// + public static bool HasTimeFormat(string time) + { + Regex regex = new Regex(@"^([01]?[0-9]|2[0-3]):[0-5][0-9]$"); + return regex.IsMatch(time); + } + } +} diff --git a/Complex.Application/Other/Utility/Utitlity.cs b/Complex.Application/Other/Utility/Utitlity.cs new file mode 100644 index 0000000..f278b36 --- /dev/null +++ b/Complex.Application/Other/Utility/Utitlity.cs @@ -0,0 +1,484 @@ +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Complex.Application.Utility +{ + public static class ExtendFunction + { + public static string ObjectToJson(this object obj) + { + return JsonConvert.SerializeObject(obj, Formatting.Indented, new JsonSerializerSettings + { + ReferenceLoopHandling = ReferenceLoopHandling.Ignore, + }); + //return System.Text.Json.JsonSerializer.Serialize(obj); + } + + public static byte[] ToByteArray(this Stream input) + { + using (MemoryStream ms = new MemoryStream()) + { + input.CopyTo(ms); + return ms.ToArray(); + } + } + + //public static void Log(this Exception ex) + //{ + // if (ex is ThreadAbortException) + // { + // return; + // } + + // var a = new List() { "[" + ex.Message + "]
" }; + // a.Add(ex.StackTrace); + // while (ex.InnerException != null) + // { + // ex = ex.InnerException; + // //a.Add("
-----------
[" + ex.Message + "]
---------
" + ex.StackTrace); + // } + // long personId = 0; + // if (HttpContext.Current.Session != null && HttpContext.Current.Session["PersonID"] != null) + // personId = HttpContext.Current.Session["PersonID"].ToString().ToLong().Value; + // LogClass.SetLog(personId, -1, ex.Message, false, a, -1, 2); + //} + + public static string CodeID(this short ID) + { + return Code_ID(ID); + } + + public static string CodeID(this int ID) + { + return Code_ID(ID); + } + + public static string CodeID(this long ID) + { + return Code_ID(ID); + } + + static string Code_ID(long ID) + { + long id1 = ID ^ 0;//GetResourceLongValue("KeyCode1"); + id1 = id1 * 7 + 5; + long id2 = id1.ToString().Length + ID % 10 ^ 0;//GetResourceLongValue("KeyCode2"); + return id1 + "_" + id2; + } + + public static long DeCodeID(this string ID) + { + string[] ids = ID.Split('_'); + long id1 = ids[0].ToLong().Value; + id1 = (id1 - 5) / 7; + id1 = id1 ^ 0;//GetResourceLongValue("KeyCode1"); + long id2 = ids[0].Length + id1 % 10 ^ 0;//GetResourceLongValue("KeyCode2"); + + if (ids[1] == id2.ToString()) + return id1; + + return -1; + } + + public static long? ToLong(this object ID, long? defaultValue = null) + { + long LID; + bool IsLong = long.TryParse(ID + "", out LID); + if (IsLong) + return LID; + else + return defaultValue; + } + public static int Value(this int? number, int defaultInt = 0) + { + if (number.HasValue) + return number.Value; + return defaultInt; + } + public static double Value(this double? number, int defaultInt = 0) + { + if (number.HasValue) + return number.Value; + return defaultInt; + } + public static string NumberToDate(this int? Date) + { + if (Date == null) + return ""; + return Date.Value.NumberToDate(); + } + public static string NumberToDate(this int Date) + { + try + { + var st = Date.ToString(); + return st.Substring(0, 4) + "/" + st.Substring(4, 2) + "/" + st.Substring(6, 2); + } + catch { return ""; } + } + public static int? ToInt(this object ID, int? defaultInt = null) + { + int LID; + bool IsLong = int.TryParse(ID + "", out LID); + if (IsLong) + return LID; + else + return defaultInt; + } + + //public static string GetSql(this IQueryable query) + //{ + // return ((System.Data.Objects.ObjectQuery)query).ToTraceString(); + //} + + public static double? ToDouble(this object ID, double? defaultValue = null) + { + double LID; + bool IsDouble = double.TryParse(ID + "", out LID); + if (IsDouble) + return LID; + else + return defaultValue; + } + + public static short? ToShort(this object ID) + { + short LID; + bool IsLong = short.TryParse(ID + "", out LID); + if (IsLong) + return LID; + else + return null; + } + + + public static byte? ToByte(this object ID, byte defaultValue = 0) + { + byte LID; + bool IsLong = byte.TryParse(ID + "", out LID); + if (IsLong) + return LID; + else + return defaultValue; + } + + public static bool? ToBool(this object obj) + { + if (obj == null) + return null; + var ID = obj.ToString(); + bool b; + if (ID.ToLower() == "false" || ID == "0") + return false; + + if (ID.ToLower() == "true" || ID == "1" || ID.ToLower() == "on") + return true; + bool isConvert = bool.TryParse(ID, out b); + + if (!isConvert) + return null; + return b; + } + + public static string ConvertToBase64(this string str) + { + return Convert.ToBase64String(Encoding.UTF8.GetBytes(str)); + } + + public static string ConvertToBase64(this byte[] bytes) + { + return Convert.ToBase64String(bytes); + } + + public static string ConvertBase64ToString(this string str) + { + return Encoding.UTF8.GetString(Convert.FromBase64String(str)); + } + public static byte[] Base64ToByte(this string str) + { + return Convert.FromBase64String(str); + } + public static string[] Split(this string str, string spliter, StringSplitOptions spo = StringSplitOptions.RemoveEmptyEntries) + { + string[] sp = new string[] { spliter }; + return str.Split(sp, spo); + } + + public static bool IsNullOrEmpty(this string? str) + { + return string.IsNullOrEmpty(str); + } + public static bool IsNotNullOrEmpty(this string? str) + { + return !string.IsNullOrEmpty(str); + } + public static string CalculateMD5Hash(this string input) + { + // step 1, calculate MD5 hash from input + MD5 md5 = MD5.Create(); + byte[] inputBytes = Encoding.ASCII.GetBytes(input); + byte[] hash = md5.ComputeHash(inputBytes); + + // step 2, convert byte array to hex string + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < hash.Length; i++) + { + sb.Append(hash[i].ToString("X2")); + } + return sb.ToString(); + } + public static byte[] ToByte(this Stream input) + { + using (MemoryStream ms = new MemoryStream()) + { + input.CopyTo(ms); + return ms.ToArray(); + } + } + public static string SimpleCodeString(this string st) + { + if (st == null) + return ""; + return string.Join("", st.ConvertToBase64().Reverse()).Replace("=", "*@!").Replace("1", "___").Replace("2", "_1_1_"); + } + public static string SimpleDeCodeString(this string st) + { + if (st.IsNullOrEmpty()) + return ""; + return string.Join("", st.Replace("_1_1_", "2").Replace("___", "1").Replace("*@!", "=").Reverse()).ConvertBase64ToString(); + } + public static string SetValisQueryString(this string st) + { + return st; + } + public static byte[] EnCodeString(this string str) + { + var bytes = Encoding.UTF8.GetBytes(str); + for (int i = 0; i < bytes.Length; i++) + { + bytes[i] += 14; + } + return bytes; + } + public static byte[] EnCodeStringForSearchLike(this string str) + { + var bytes = Encoding.UTF8.GetBytes(str); + for (int i = 0; i < bytes.Length; i++) + { + bytes[i] += 14; + } + var b = Encoding.UTF8.GetBytes("%"); + var finalBytes = new byte[bytes.Length + 2]; + finalBytes[0] = b[0]; + finalBytes[finalBytes.Length - 1] = b[0]; + for (int i = 0; i < bytes.Length; i++) + finalBytes[i + 1] = bytes[i]; + return finalBytes; + } + public static string DeCodeString(this byte[] byteArray) + { + if (byteArray == null) + return ""; + for (int i = 0; i < byteArray.Length; i++) + { + byteArray[i] -= 14; + } + var bytes = Encoding.UTF8.GetString(byteArray); + return bytes; + } + public static string StripHTML(this string input) + { + return Regex.Replace(input, "<.*?>", string.Empty); + } + public static string SubStrFromStartEnd(this string str, int startindex = 0, int minesLenght = 0) + { + return str.Substring(startindex, str.Length - minesLenght); + } + + public static string SubStrWithMax(this string str, int maxLength = 50, string continueStr = "") + { + if (str.Length < maxLength) + return str; + return str.Substring(0, maxLength) + continueStr; + } + + public static IList CastToList(this IEnumerable source) + { + return new List(source.Cast()); + } + + //public static T Cast2(this object obj) + //{ + // return (T)obj; + //} + public static T CastTo(this object value, T targetType) + { + // targetType above is just for compiler magic + // to infer the type to cast x to + return (T)value; + } + public static string RemoveFirstLines(this string text, int linesCount) + { + var lines = Regex.Split(text, "\r\n|\r|\n").Skip(linesCount); + return string.Join(Environment.NewLine, lines.ToArray()); + } + public static string RemoveEndLines(this string text, int linesCount) + { + var lines = Regex.Split(text, "\r\n|\r|\n").Reverse().Skip(linesCount).Reverse(); + return string.Join(Environment.NewLine, lines.ToArray()); + } + + public static string GetPropertiesValues(this object obj) + { + if (obj == null) return "null"; + StringBuilder sb = new StringBuilder(); + + List props = obj.GetType().GetProperties().ToList(); + foreach (var p in props) + { + sb.Append(p.Name).Append(": ").Append(p.GetValue(obj, null)); + sb.AppendLine(); + } + + return sb.ToString(); + } + + + //public static IEnumerable Filter(this IEnumerable source, string searchStr) + //{ + // var propsToCheck = typeof(T).GetProperties().Where(a => a.PropertyType == typeof(string)); + + // var filter = propsToCheck.Aggregate(string.Empty, (s, p) => (s == string.Empty ? string.Empty : string.Format("{0} OR ", s)) + string.Format("{0} == @0", p.Name)); + + // var filtered = source.AsQueryable().Where(filter, searchStr); + // return filtered; + //} + + /// + /// فرمت تاریخ صحیح است؟ + /// + /// تاریخ + /// + public static bool HasDateFormat(this string date) + { + return PersianDate.HasDateFormat(date); + } + + /// + /// فرمت زمان معتبر است؟ + /// + /// زمان + /// + public static bool HasTimeFormat(this string time) + { + return PersianDate.HasTimeFormat(time); + } + + /// + /// تبدیل رشته زمان به دقیقه + /// + /// زمان + /// + public static int ConvertTimeToMinutes(this string time) + { + //if (!time.HasTimeFormat()) + // return 0; + try + { + var hm = time.Split(':').Select(i => i.ToInt(0).Value).ToArray(); + + return hm[0] * 60 + hm[1]; + } + catch + { + return 0; + } + } + + /// + /// تبدیل دقیقه به رشته زمان + /// + /// دقیقه + /// + public static string ConvertMinutesToTime(this int minutes) + { + if (minutes < 0) + return ""; + + return string.Format("{0:D2}:{1:D2}", minutes / 60, minutes % 60); + } + + public static object Copy(this object entity, object distEntity, List excludeCopyField = null, int level = 0/*, ILogger logger*/) + { + if (level > 5) + return null; + if (excludeCopyField == null) + excludeCopyField = new List(); + + var obj1Properties = entity.GetType().GetProperties(); + var obj2Properties = distEntity.GetType().GetProperties(); + try + { + foreach (var obj1prop in obj1Properties) + { + if (excludeCopyField.Contains(obj1prop.Name)) + continue; + var destProp = obj2Properties.FirstOrDefault(x => x.Name == obj1prop.Name);// && x.PropertyType == obj1prop.PropertyType); + //logger.LogInformation("---> " + obj1prop.Name); + if (destProp != null) + { + object srcEnt = obj1prop.GetValue(entity, null); + //logger.LogInformation("------> srcEnt is null: " + (srcEnt == null)); + + if (srcEnt != null) + { + bool isNullable = destProp.PropertyType.IsGenericType;// && destProp.PropertyType.GetGenericTypeDefinition() == typeof(Nullable); + if (isNullable || destProp.PropertyType.IsPrimitive || destProp.PropertyType == typeof(String)) + { + destProp.SetValue(distEntity, srcEnt); + } + else + { + object destEnt = Activator.CreateInstance(destProp.PropertyType); + //logger.LogCritical("=====> destEnt is null: " + (destEnt == null)); + if (destEnt != null) + { + var a = srcEnt.Copy(destEnt, excludeCopyField, level + 1); + destProp.SetValue(distEntity, a); + } + } + } + } + } + } + catch + { + return null; + } + return distEntity; + } + public static string CorrectPersianString(this string str) + { + return str.Replace("ك", "ک").Replace("ي", "ی").Replace("ﯼ", "ی").Replace("ى", "ی"); + } + } + public class SearchTokenVM + { + public string KeySearch { set; get; } + } + public class RoleParam + { + public int RoleId { set; get; } + } +} diff --git a/Complex.Application/Services/Basic/AppCommonService.cs b/Complex.Application/Services/Basic/AppCommonService.cs new file mode 100644 index 0000000..8c23dad --- /dev/null +++ b/Complex.Application/Services/Basic/AppCommonService.cs @@ -0,0 +1,21 @@ +using Complex.Common.Dto; +using Complex.Domain.Entities; + +namespace Complex.Application.AppCommon +{ + public interface IAppCommonService + { + ResultDto GetPoster(); + } + public class AppCommonService : IAppCommonService + { + public ResultDto GetPoster() + { + return new ResultDto + { + Data = new Poster { ImagePath = "banner.png" }, + IsSuccess = true + }; + } + } +} diff --git a/Complex.Application/Services/Basic/BasicService.cs b/Complex.Application/Services/Basic/BasicService.cs new file mode 100644 index 0000000..5e30eb9 --- /dev/null +++ b/Complex.Application/Services/Basic/BasicService.cs @@ -0,0 +1,71 @@ +using AutoMapper; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.Basic +{ + public interface IBasicService + { + ResultDto> UnitStateList(Guid ComplexId); + ResultDto InsertUnitState(UnitStateDto unitState); + ResultDto EditUnitState(UnitStateDto unitState); + } + public class BasicService : IBasicService + { + private readonly IComplexDBContext _complexDBContext; + private readonly IMapper _mapper; + + public BasicService(IComplexDBContext complexDBContext, IMapper mapper) + { + _complexDBContext = complexDBContext; + _mapper = mapper; + } + + public ResultDto> UnitStateList(Guid ComplexId) + { + var UnitStates = _complexDBContext.UnitStates.Where(s => s.ComplexId == ComplexId || !s.ComplexId.HasValue).ToList() + .Select(u=>_mapper.Map(u)).ToList(); + return new ResultDto> + { + Data = UnitStates, + IsSuccess = true, + RowCount = UnitStates.Count + }; + + } + + public ResultDto EditUnitState(UnitStateDto unitStateDto) + { + var unitState = _complexDBContext.UnitStates.FirstOrDefault(us => us.Id == unitStateDto.Id); + unitState.Title = unitStateDto.Title; + unitState.Icon= unitStateDto.Icon; + _complexDBContext.SaveChanges(); + return new ResultDto { IsSuccess = true, Message="ویرایش با موفقیت انجام شد"}; + } + + public ResultDto InsertUnitState(UnitStateDto unitStateDto) + { + var newUnitState = new UnitState(); + newUnitState.Title= unitStateDto.Title; + newUnitState.Icon= unitStateDto.Icon; + newUnitState.ComplexId= unitStateDto.ComplexId; + _complexDBContext.UnitStates.Add(newUnitState); + _complexDBContext.SaveChanges(); + + return new ResultDto { IsSuccess = true, Data= newUnitState.Id, Message = "ثبت با موفقیت انجام شد" }; + } + } + public class UnitStateDto + { + public int Id { get; set; } + public Guid? ComplexId { set; get; } + public string Title { set; get; } + public string Icon { set; get; } + } + +} diff --git a/Complex.Application/Services/Basic/ChargeCycleService.cs b/Complex.Application/Services/Basic/ChargeCycleService.cs new file mode 100644 index 0000000..7b74c20 --- /dev/null +++ b/Complex.Application/Services/Basic/ChargeCycleService.cs @@ -0,0 +1,414 @@ +using AutoMapper; +using Complex.Application.Complex; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.Services.Basic +{ + public class CostService + { + private readonly IComplexDBContext _complexDBContext; + private IMapper _mapper; + private ILogger _logger; + public CostService(IComplexDBContext complexDBContext, IMapper mapper, ILogger logger) + { + _complexDBContext = complexDBContext; + _mapper = mapper; + _logger = logger; + } + //public ResultDto> ComplexChargeCycle(Guid ComplexId) + //{ + // var chargeCycles = _complexDBContext.ChargeCycles.Include(c => c.UnitChargeTypes).ThenInclude(c => c.Unit) + // .Where(c => c.ComplexId == ComplexId).ToList(); + + // var chargeCycleObj = chargeCycles.Select(c => _mapper.Map(c)).ToList(); + // foreach (var c in chargeCycleObj) + // { + // c.Units = chargeCycles.Single(a => a.Id == c.Id).UnitChargeTypes.Where(t => !t.ChargeTypeId.HasValue) + // .Select(a => a.Unit).Select(u => _mapper.Map(u)).ToList(); + // } + // return new ResultDto> + // { + // Data = chargeCycleObj, + // IsSuccess = true, + // }; + //} + + /// + /// لیست مدیریت شارژ یا هر گونه درآمد و مخارج گرفته می شود + /// + /// + /// + /// + /// + /// + public ResultDto> CostCyclsList(Guid ComplexId, DateOnly? StartDate = null, + DateOnly? EndDate = null, int? IncomeCostTitleId = null) + { + if (IncomeCostTitleId.HasValue && StartDate.HasValue) + StartDate = GetStartOfMonth(StartDate.Value); + + var ChargeCycleQuery = _complexDBContext.CostCycles.Include(c => c.Units).Where(c => c.ComplexId == ComplexId).AsQueryable(); + if (StartDate.HasValue) + ChargeCycleQuery = ChargeCycleQuery.Where(c => c.StartDate >= StartDate); + + if (EndDate.HasValue) + ChargeCycleQuery = ChargeCycleQuery.Where(c => c.EndDate <= EndDate); + + + if (IncomeCostTitleId.HasValue) + ChargeCycleQuery = ChargeCycleQuery.Where(c => c.IncomeCostTitleId == IncomeCostTitleId); + else/*مدیریت شارژ ها فقط*/ + ChargeCycleQuery = ChargeCycleQuery.Where(c => c.IncomeCostTitleId == null); + + var ChargeCycleList = ChargeCycleQuery.ToList().Select(c => new CostCycleDto + { + ComplexId = c.ComplexId, + Amount = c.Amount, + EncouragementAmount = c.EncouragementAmount, + EncouragementDay = c.EncouragementDay, + EndDate = c.EndDate, + StartDate = c.StartDate, + Id = c.Id, + Title = c.Title, + UnitIds = c.Units?.Select(u => u.Id).ToList(), + UnitNames = c.Units?.Select(u => u.Id + "#" + u.UnitName).ToList(), + IncomeCostTitleId = c.IncomeCostTitleId, + IncomeCostTitle = c.IncomeCostTitle?.Title + }).ToList(); + return new ResultDto> + { + IsSuccess = true, + RowCount = ChargeCycleList.Count, + Data = ChargeCycleList + }; + } + + public ResultDto EditCostCycle(CostCycleDto costCycleDto) + { + var cycle = _complexDBContext.CostCycles.Single(a => a.Id == costCycleDto.Id); + var isUsed = _complexDBContext.Transactions.Any(c => c.CostCycleId == costCycleDto.Id); + if (isUsed) + return new ResultDto + { + IsSuccess = false, + Message = "این آیتم استفاده شده است. شما می توانید این آیتم را حذف نمایید", + Data = false + }; + + cycle = _mapper.Map(costCycleDto); + cycle.IncomeCostTitleId = costCycleDto.IncomeCostTitleId; + if (costCycleDto.UnitIds != null) + cycle.Units = _complexDBContext.Units.Where(u => costCycleDto.UnitIds.Contains(u.Id) + && u.ComplexId == costCycleDto.ComplexId).ToList(); + + foreach (var u in cycle.Units) + { + var define = DefineUnitCharge(unitId: u.Id, costCycle: cycle); + if (!define.IsSuccess) + return new ResultDto { Data = false, IsSuccess = true, Message = define.Message }; + } + + _complexDBContext.SaveChanges(); + + return new ResultDto { Data = true, IsSuccess = true, Message = "ویرایش با موفقیت انجام شد" }; + } + + private DateOnly GetStartOfMonth(DateOnly date) + { + var persianDate = PersianDate.GetPDate(date.ToDateTime(new TimeOnly(1, 1))); + return date.AddDays(-persianDate.Day + 1); + } + + public ResultDto InsertCostCycle(CostCycleDto costCycleDto) + { + //اگر مدیریت شارژ هست پس تاریخ ها باید از یکم تا پایان ماه بشود + //البته باید در نرم افزار فقط امکان انتخاب ماه را داشته باشد + //&^*&^*&^&*^*&^*&^&*^*&^*&^&*^*&^*&^*&^&*^&*^*&&^*&^*&^&*^*^*&^*&^*&^&*^*& + // + if (costCycleDto.IncomeCostTitleId == null) + costCycleDto.StartDate = GetStartOfMonth(costCycleDto.StartDate); + + var newCycle = _mapper.Map(costCycleDto); + if (costCycleDto.UnitIds != null) + newCycle.Units = _complexDBContext.Units.Where(u => costCycleDto.UnitIds.Contains(u.Id) && costCycleDto.ComplexId == u.ComplexId).ToList(); + + //if(newCycle.Units==null) + //{ + // //باید چک کرد در این بازه ایا با یکی دیگر که همه واحدها را در نظر میگیرد هم پوشانی نداشته باشد + // اما چون در پایین چک میشه پس مشکلی ندارد + // var IsPublicCostExist=_complexDBContext.CostCycles.Where(c=> + // c.ComplexId== newCycle.ComplexId && ) + //} + _complexDBContext.CostCycles.Add(newCycle); + + foreach (var u in newCycle.Units) + { + var define = DefineUnitCharge(unitId: u.Id, costCycle: newCycle, isNew: true); + if (!define.IsSuccess) + return new ResultDto { IsSuccess = false, Message = define.Message }; + } + + _complexDBContext.SaveChanges(); + return new ResultDto { Data = newCycle.Id, IsSuccess = true, Message = "ثبت با موفقیت انجام شد" }; + } + + public ResultDto DefineUnitCharge(Guid unitId, CostCycle costCycle, bool isNew = false) + { + //var cycle = _complexDBContext.CostCycles.Where(c => c.Id == costCycleId).FirstOrDefault(); + var currentDate = DateOnly.FromDateTime(DateTime.Now); + ///ایتم هایی که برای بعد از این تاریخ هست باید حذف شوند و مجدد محاسبه شوند + ///اما ایتم هایی که هم تاریخ مدیریت شارژ و هم تاریخ امروز به بعد + ///البته در مدیریت شارژ تعریفی نباید اجازه داد تاریخ شروع از آن روز به قبل باشد + if (!isNew) + { + var validDateTimeForDel = currentDate; + //validDateTimeForDel.AddHours(-validDateTimeForDel.Hour); + //validDateTimeForDel.AddMinutes(-validDateTimeForDel.Minute); + //validDateTimeForDel.AddSeconds(-validDateTimeForDel.Second); + var itemsForDelete = _complexDBContext.UnitCosts.Where(t => + t.CostCycleId == costCycle.Id && + t.UnitId == unitId && t.Date >= validDateTimeForDel && !t.TransactionId.HasValue); + /* + نکته: !t.TransactionId.HasValue + .مشکل اینجاست که اگر برای اینده باشه و پرداخت کرده باشه باید یک راهکاری اندیشید چون حذف نمیشه!مشکل دارد + */ + _complexDBContext.UnitCosts.RemoveRange(itemsForDelete); + } + //اگر شارژ باشد فقط یک بار در ماه هست اما غیر از ان به هر هزینه تعریفی میتواند + //که در ماه میتواند چندین هزینه تعریف کند + //اگر برای شارژ باشد + //if (!cycle.IncomeCostTitleId.HasValue) + // deleteCharges = deleteCharges.Where(t => t.ChargeCycleId == ChargeCycleId); + //else + //deleteCharges = deleteCharges.Where(t => t.ChargeCycleId == cycle.Id); + //همه ماهانه هست و روز خاصی نگرفتیم برای اصل و پرداخت نشده ها حذف شده + //پس روز اخر ملاک هست + if (!costCycle.IncomeCostTitleId.HasValue) + while (currentDate <= costCycle.EndDate) + { + //میبیند برای این واحد ایا چیزی ثبت شده است یا خیر با دوره واحد دیگر + //چون بالا برای دوره واحدی که به این تابع امده حذف را انجام دادیم + var oldUnitCost = _complexDBContext.UnitCosts.Include(uc => uc.CostCycle).ThenInclude(c => c.Units) + .Where(uc => + uc.UnitId == unitId && + uc.CostCycle.IncomeCostTitleId == null && + uc.Date.Month == currentDate.Month).FirstOrDefault(); + + if (oldUnitCost != null) + { + //cycle.Units != null====>پس این واحد هم اختصاصیش بوده*/ + //اگر این اختصاصی هست و قبلش اختصاصی هم بوده خطا بده + if (costCycle.Units != null && oldUnitCost.CostCycle.Units != null) + return new ResultDto + { + IsSuccess = false, + Message = "برای برخی از واحدها در این بازه زمانی قبلا به صورت اختصاصی شارژ تعیین شده است" + }; + //اگر این اختصاصی هست و قبلش غیراختصاصی بوده باید پاک بشه البته برای همین واحد است که حذف میشه + if (costCycle.Units != null && oldUnitCost.CostCycle.Units == null) + _complexDBContext.UnitCosts.Remove(oldUnitCost); + + //اگر این غیر اختصاصی هست و قبلش غیر اختصاصی بوده قبلیش باید پاک بشه یا خطا بدهیم + //اما خطا نمیدهیم چون ممکنه بازه ها متفاوت باشند ولی اشتراک داشته باشند. بهتره جای دیگه چک بشه + //if (cycle.Units == null && oldUnitCost.CostCycle.Units == null) + + //اگر این غیر اختصاصی هست و قبلیش اختصاصی بوده که نباید ثبت بشه + if (costCycle.Units == null && oldUnitCost.CostCycle.Units != null) + return new ResultDto { IsSuccess = true, Message = "نیاز به تعریف مجدد برای این واحد نبود" }; + + if (costCycle.Units == null && oldUnitCost.CostCycle.Units == null) + return new ResultDto { IsSuccess = false, Message = "شما در یک بازه زمانی نمیتوانید بیش از یک مورد عمومی تعریف کنید" }; + + } + //-------------- + var newUC = new UnitCost + { + CostCycleId = costCycle.Id, + UnitId = unitId, + Date = currentDate, + TransactionId = null + }; + currentDate = currentDate.AddMonths(1); + _complexDBContext.UnitCosts.Add(newUC); + } + else + { + var newUC = new UnitCost + { + CostCycleId = costCycle.Id, + UnitId = unitId, + Date = currentDate, + TransactionId = null + }; + _complexDBContext.UnitCosts.Add(newUC); + } + // _complexDBContext.SaveChanges(); + return new ResultDto + { + Message = "ثبت با موفقیت انجام شد", + IsSuccess = true, + }; + } + /// + /// بدهی یک واحد + /// + /// + /// + /// + public ResultDto CalculateCostForUnit(Guid unitId, int? incomeCostTitleId) + { + var currentDate = DateOnly.FromDateTime(DateTime.Now); + var unitCost = _complexDBContext.UnitCosts.Where(uc => unitId == uc.UnitId && + !uc.TransactionId.HasValue + && uc.CostCycle.IncomeCostTitleId == incomeCostTitleId && uc.Date <= currentDate); + + var LastPaymentDate = _complexDBContext.UnitCosts.Where(uc => unitId == uc.UnitId && + uc.TransactionId.HasValue/*پرداخت شده000000000000*/ + && uc.CostCycle.IncomeCostTitleId == incomeCostTitleId && uc.Date <= currentDate) + .OrderBy(uc => uc.Date).LastOrDefault()?.Date; + + var costTitle = "شارژ"; + if (incomeCostTitleId.HasValue) + costTitle = _complexDBContext.IncomeCostTitles.First(i => i.Id == incomeCostTitleId).Title; + + + return new ResultDto + { + Data = new CostOfUnitInfoDto + { + CostMount = unitCost.Sum(c => c.CostCycle.Amount), + CostTitle = costTitle, + LastPaymentDate = LastPaymentDate, + UnitId = unitId + }, + IsSuccess = true + }; + } + /// + /// لیست بدهی های یک واحد + /// + /// + /// + public ResultDto> CalculateAllCostForUnits(List unitIds) + { + var currentDate = DateOnly.FromDateTime(DateTime.Now); + var unitCharges = _complexDBContext.UnitCosts.Include(uc => uc.CostCycle).ThenInclude(cc => cc.IncomeCostTitle) + .Where(uc => unitIds.Contains(uc.UnitId) && + !uc.TransactionId.HasValue + && uc.Date <= currentDate).ToList(); + + var resultList = new List(); + foreach (var unitid in unitIds) + { + resultList.AddRange(unitCharges.Where(u => u.UnitId == unitid).Select(uc => new CostOfUnitInfoDto + { + CostMount = uc.CostCycle.Amount, + CostTitle = uc.CostCycle.IncomeCostTitleId.HasValue ? uc.CostCycle.IncomeCostTitle?.Title : "شارژ", + Date = uc.Date, + UnitId = unitid, + CostCount = unitCharges.Where(u => u.UnitId == unitid).Count() + }).ToList()); + } + return new ResultDto> + { + Data = resultList, + IsSuccess = true + }; + //{ + // Data = unitCharges.Sum(c => c.CostCycle.Amount), + // Message = "تمام بدهی" + //}; + } + /// + /// تاریخچه پرداختی ها و باقیمانده از آن + /// + /// + /// + /// + /// + /// + public ResultDto> CostsForUnits(List unitIds, int? incomeCostTitleId, + DateOnly startDate, DateOnly endDate) + { + var unitCharges = _complexDBContext.UnitCosts.Include(uc => uc.CostCycle).ThenInclude(cc => cc.IncomeCostTitle) + .Where(uc => unitIds.Contains(uc.UnitId) + //!uc.TransactionId.HasValue + && uc.Date >= startDate + && uc.Date <= endDate).ToList();//.GroupBy(g => g.UnitId); + + var resultList = new List(); + + foreach (var uid in unitIds) + { + resultList.AddRange(unitCharges.Where(u => u.UnitId == uid).Select(uc => new CostOfUnitInfoDto + { + UnitCostId = uc.Id, + CostMount = uc.CostCycle.Amount, + CostTitle = uc.CostCycle.IncomeCostTitleId.HasValue ? uc.CostCycle.IncomeCostTitle?.Title : "شارژ", + Date = uc.Date, + UnitId = uid, + CostCount = unitCharges.Where(u => u.UnitId == uid).Count() + }).ToList()); + } + + return new ResultDto> + { + Data = resultList, + IsSuccess = true + }; + + } + } + public class CostOfUnitInfoDto + { + public long UnitCostId { set; get; } + public Guid UnitId { get; set; } + public int CostCount { get; set; } + public long CostMount { get; set; } + //public long CostCount { set; get; } + public DateOnly? LastPaymentDate { get; set; } + public DateOnly? Date { get; set; } + public string? CostTitle { get; set; } + public DateOnly? PaymentDate { set; get; } + } + public class CostCycleDto + { + public Guid Id { set; get; } + public Guid ComplexId { set; get; } + public string Title { set; get; } + public DateOnly StartDate { set; get; } + public DateOnly EndDate { set; get; } + public long Amount { set; get; } = 0; + /// + /// روز از ماه برای تشویقی + /// + public int EncouragementDay { set; get; } = 0; + /// + /// مبلغ اجاره با احتساب تشویقی + /// + public long EncouragementAmount { set; get; } = 0; + /// + /// اگر برای واحدهای خاصی بود + /// + /// + /// اگر برای واحدهای خاصی بود + /// + public virtual List? UnitIds { set; get; } + public virtual List? UnitNames { set; get; } + /// + /// null یعنی شارژ + /// + public int? IncomeCostTitleId { set; get; } + public string? IncomeCostTitle { set; get; } + } +} diff --git a/Complex.Application/Services/Charge/ChargeCycleService.cs b/Complex.Application/Services/Charge/ChargeCycleService.cs new file mode 100644 index 0000000..8d40d8f --- /dev/null +++ b/Complex.Application/Services/Charge/ChargeCycleService.cs @@ -0,0 +1,118 @@ +// در بیسیک وجود دارد + + +//using AutoMapper; +//using Complex.Application.Utility; +//using Complex.Common.Dto; +//using Complex.Domain.Commons; +//using Complex.Domain.Entities; +//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.ComponentModel.DataAnnotations; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; + +//namespace Complex.Application.Services.Charge +//{ +// public class ChargeCycleService +// { +// /* +// * ثبت آیتم مدیریت شارژ +// * لیست ایتم های مدیریت شارژ +// * ویرایش +// */ +// private readonly IComplexDBContext _complexDBContext; +// private readonly IMapper _mapper; + +// public ChargeCycleService(IComplexDBContext complexDBContext, IMapper mapper) +// { +// _complexDBContext = complexDBContext; +// _mapper = mapper; +// } +// public ResultDto InsertManageCharge(ChargeCycleDto chargeCycleDto) +// { +// var CCharge = new ChargeCycle +// { +// Amount = chargeCycleDto.Amount, +// ComplexId = chargeCycleDto.ComplexId, +// EncouragementAmount = chargeCycleDto.EncouragementAmount, +// EncouragementDay = chargeCycleDto.EncouragementDay, +// EndDate = chargeCycleDto.EndDate, +// InsertTime = DateTime.Now, +// StartDate = chargeCycleDto.StartDate, +// Title = chargeCycleDto.Title, +// }; +// if (chargeCycleDto.UnitIds != null) +// { +// CCharge.UnitChargeTypes = new List(); +// chargeCycleDto.UnitIds.ForEach(g => CCharge.UnitChargeTypes.Add(new UnitChargeType +// { +// ComplexId = chargeCycleDto.ComplexId, +// ChargeTypeId = null, +// UnitId = g +// })); +// } +// _complexDBContext.ChargeCycles.Add(CCharge); +// _complexDBContext.SaveChanges(); +// return new ResultDto +// { +// IsSuccess = true, +// Data = CCharge.Id +// }; +// } +// public ResultDto> ChargeCyclsList(Guid ComplexId, DateTime? StartDate = null, DateTime? EndDate = null) +// { +// var ChargeCycleQuery = _complexDBContext.ChargeCycles.Include(c => c.UnitChargeTypes).ThenInclude(uc => uc.Unit).Where(c => c.ComplexId == ComplexId).AsQueryable(); +// if (StartDate != null) +// ChargeCycleQuery = ChargeCycleQuery.Where(c => c.StartDate >= StartDate); + +// if (EndDate != null) +// ChargeCycleQuery = ChargeCycleQuery.Where(c => c.EndDate <= EndDate); + +// var ChargeCycleList = ChargeCycleQuery.ToList().Select(c => new ChargeCycleDto +// { +// ComplexId = c.ComplexId, +// Amount = c.Amount, +// EncouragementAmount = c.EncouragementAmount, +// EncouragementDay = c.EncouragementDay, +// EndDate = c.EndDate, +// StartDate = c.StartDate, +// Id = c.Id, +// Title = c.Title, +// UnitIds = c.UnitChargeTypes?.Select(u => u.UnitId).ToList(), +// UnitNames = c.UnitChargeTypes?.Select(u => u.Unit.UnitId + "#" + u.Unit.UnitName).ToList(), +// }).ToList(); +// return new ResultDto> +// { +// IsSuccess = true, +// RowCount= ChargeCycleList.Count, +// Data= ChargeCycleList +// }; +// } +// } +// public class ChargeCycleDto +// { +// public Guid Id { get; set; } +// public Guid ComplexId { set; get; } +// public virtual ComplexEntity Complex { set; get; } +// public string Title { set; get; } +// public DateTime StartDate { set; get; } +// public DateTime EndDate { set; get; } +// public long Amount { set; get; } = 0; +// /// +// /// روز از ماه برای تشویقی +// /// +// public int EncouragementDay { set; get; } = 0; +// /// +// /// مبلغ اجاره با احتساب تشویقی +// /// +// public long EncouragementAmount { set; get; } = 0; +// /// +// /// اگر برای واحدهای خاصی بود +// /// +// public virtual List? UnitIds { set; get; } +// public virtual List? UnitNames { set; get; } +// } +//} diff --git a/Complex.Application/Services/Charge/ChargeService.cs b/Complex.Application/Services/Charge/ChargeService.cs new file mode 100644 index 0000000..718ec09 --- /dev/null +++ b/Complex.Application/Services/Charge/ChargeService.cs @@ -0,0 +1,119 @@ +//using AutoMapper; +//using Complex.Application.Services.Transaction; +//using Complex.Application.Utility; +//using Complex.Common.Dto; +//using Complex.Domain.Entities; +//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.ComponentModel.DataAnnotations; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; + +//namespace Complex.Application.Services.Charge +//{ +// public class CostService +// { +// private readonly IComplexDBContext _complexDBContext; +// private readonly IMapper _mapper; + +// public CostService(IComplexDBContext complexDBContext, IMapper mapper) +// { +// _complexDBContext = complexDBContext; +// _mapper = mapper; +// } +// public ResultDto DefineUnitCharge(Guid unitId, Guid costCycleId) +// { +// var cycle = _complexDBContext.CostCycles.Where(c => c.Id == costCycleId).FirstOrDefault(); +// var currentDate = DateTime.Now; +// ///ایتم هایی که برای بعد از این تاریخ هست باید حذف شوند و مجدد محاسبه شوند +// ///اما ایتم هایی که هم تاریخ مدیریت شارژ و هم تاریخ امروز به بعد +// ///البته در مدیریت شارژ تعریفی نباید اجازه داد تاریخ شروع از آن روز به قبل باشد +// var itemsForDelete = _complexDBContext.UnitCosts.Where(t => +// t.CostCycleId == costCycleId && +// t.UnitId == unitId && t.Date >= currentDate && !t.TransactionId.HasValue); +// //اگر شارژ باشد فقط یک بار در ماه هست اما غیر از ان به هر هزینه تعریفی میتواند +// //که در ماه میتواند چندین هزینه تعریف کند +// //اگر برای شارژ باشد +// //if (!cycle.IncomeCostTitleId.HasValue) +// // deleteCharges = deleteCharges.Where(t => t.ChargeCycleId == ChargeCycleId); +// //else +// //deleteCharges = deleteCharges.Where(t => t.ChargeCycleId == cycle.Id); +// _complexDBContext.UnitCosts.RemoveRange(itemsForDelete); +// //همه ماهانه هست و روز خاصی نگرفتیم برای اصل و پرداخت نشده ها حذف شده +// //پس روز اخر ملاک هست +// while (currentDate < cycle.EndDate) +// { +// var newUC = new UnitCost +// { +// CostCycleId = costCycleId, +// UnitId = unitId, +// Date = currentDate, +// TransactionId = null +// }; +// currentDate.AddMonths(1); +// _complexDBContext.UnitCosts.Add(newUC); +// } +// _complexDBContext.SaveChanges(); +// return new ResultDto +// { +// Message = "ثبت با موفقیت انجام شد", +// IsSuccess = true, +// }; +// } +// public /*ResultDto>*/ void CalculateUnitCharge(Guid unitId, int? IncomeCostTitleId) +// { +// var currentDate = DateTime.Now; +// var unitCharges = _complexDBContext.UnitCosts.Where(uc => uc.UnitId == unitId && !uc.TransactionId.HasValue +// && uc.CostCycle.IncomeCostTitleId == IncomeCostTitleId); +// } +// //public /*ResultDto>*/ void CalculateUnitCharge(Guid complexId, Guid unitId) +// //{ +// // var CurrentMonth = PersianDate.CurrentPersianMonth; +// // var CurrentYear = PersianDate.CurrentPersianYear; +// // var currentMonthDate = PersianDate.ConvertToMiladi(CurrentYear + "/" + CurrentMonth.ToString().PadLeft(2, '0') + "/01"); +// // var manageChargList = _complexDBContext.ChargeCycles.Include(m => m.UnitChargeTypes) +// // .Where(m => m.ComplexId == complexId +// // && m.StartDate <= currentMonthDate +// // && m.EndDate >= currentMonthDate).Select(m => m).ToList(); +// // ///بدست اوردن ماه هایی که شارژ نداده است +// // var startChargeDate = _complexDBContext.ChargeCycles +// // .Where(m => m.ComplexId == complexId) +// // .Min(m => m.StartDate); +// // //for(var d=startChargeDate;d<=yearMonth;d.AddDays(1)) +// // //{ + +// // //} +// // var startPersianDate = PersianDate.GetPDate(startChargeDate); +// // var endPersianDate = PersianDate.GetPDate(DateTime.Now); + +// // var paymentDatelist = +// // for (int y = startPersianDate.Year; y <= endPersianDate.Year; y++) +// // { +// // for (int m = startPersianDate.Month; m <= endPersianDate.Month; m++) +// // { + +// // } +// // } +// //} +// } +// public class ChargeDto +// { +// public int TransactionTitleId { get; } = 1; +// public string TransactionTitle { get; } = "شارژ"; +// [MaxLength(10)] +// public string TransactionDate { set; get; } +// public long Amount { set; get; } = 0; +// public string? Description { set; get; } +// public int? ChargeTypeId { set; get; } = 1; +// public string ChargeType { set; get; } = "شارژ ماهیانه"; +// public Guid? UnitId { set; get; } +// public string UnitTitle { set; get; } +// /// +// ///شماره فیش. اگر با فیش چیزی واریز شده است +// /// +// public string? FishId { set; get; } +// } + +//} diff --git a/Complex.Application/Services/Complex/ComplexService.cs b/Complex.Application/Services/Complex/ComplexService.cs new file mode 100644 index 0000000..4b423a9 --- /dev/null +++ b/Complex.Application/Services/Complex/ComplexService.cs @@ -0,0 +1,174 @@ +using AutoMapper; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.Complex +{ + public interface IComplexService + { + ResultDto InsertComplex(ComplexDto complexDto); + ResultDto EditComplex(string UserId, ComplexDto complexDto); + public ResultDto ComplexProperties(Guid Id); + public ResultDto> ComplexList(string PersonId); + } + public class ComplexService : IComplexService + { + private readonly IComplexDBContext _complexDBContext; + private IMapper _mapper; + public ComplexService(IComplexDBContext complexDBContext, IMapper mapper) + { + _complexDBContext = complexDBContext; + _mapper = mapper; + } + public ResultDto ComplexProperties(Guid Id) + { + var complex = _complexDBContext.ComplexEntities.Include(x => x.City).FirstOrDefault(x => x.Id == Id); + if (complex == null) + return new ResultDto { IsSuccess = false, Message = "مشخصات مجتمع یافت نشد" }; + var complexDto = _mapper.Map(complex); + + complexDto.CityTitle = complex.City.CityTitle; + + return new ResultDto { IsSuccess = true, RowCount = 1, Data = complexDto }; + } + + public ResultDto EditComplex(string UserId, ComplexDto complexDto) + { + var complex = _complexDBContext.ComplexEntities.Include(c => c.ComplexManagers).FirstOrDefault(x => x.Id == complexDto.Id); + + if (complex.ComplexManagers == null || !complex.ComplexManagers.Any(m => m.ManagerMobileNumberId == UserId)) + return new ResultDto + { + IsSuccess = false, + Message = "عدم دسترسی" + }; + + complex.AreaMeter = complexDto.AreaMeter; + complex.YardMeter = complexDto.YardMeter; + complex.Address = complexDto.Address; + complex.YearMake = complexDto.YearMake; + //complex.ParentId = complexDto.ParentId; + complex.CityId = complexDto.CityId; + complex.Description = complexDto.Description; + complex.ElevatorCount = complexDto.ElevatorCount; + complex.ParentId = complexDto.ParentId; + complex.StateId = complexDto.StateId; + complex.Title = complexDto.Title; + complex.WarehouseCount = complexDto.WarehouseCount; + + _complexDBContext.SaveChanges(); + + var result = _mapper.Map(complex); + return new ResultDto + { + Data = result, + IsSuccess = true, + Message = "ویرایش با موفقیت انجام شد" + }; + } + + public ResultDto InsertComplex(ComplexDto complexDto) + { + throw new NotImplementedException(); + } + public ResultDto> ComplexList(string PersonId) + { + //try + { + var today = PersianDate.GetToday(); + var mangerComplexData = _complexDBContext.ComplexManagers.Include(c => c.Complex) + //.ThenInclude(c=>c.Units) + //.ThenInclude(c=>c.City) + .Where(c => (c.ManagerMobileNumberId == PersonId) + && string.Compare(c.StartDate, today) <= 0 && string.Compare(c.EndDate, today) >= 0) + .Select(c => c.Complex) + .Where(c => c.StateId != 2);//غیرفعال شده ها نیایند + //.ToList(); + //var mangerComplex = mangerComplexData.Select(c => _mapper.Map(c)).ToList(); + + var units = _complexDBContext.Units.ToList(); + + var PersonComplexData = _complexDBContext.Units.Include(c => c.Complex) + //.ThenInclude(c=>c.Units) + //.ThenInclude(c => c.City) + .Where(c => c.TenantId == PersonId || c.OwnerId == PersonId).Select(c => c.Complex) + .Where(c => c.StateId != 2);//غیرفعال شده ها نیایند + //.ToList(); + + var complexList = mangerComplexData.Union(PersonComplexData) + //.Include(c => c.Units); + .Select(c => new + { + complex = c, + unitCount = c.Units.Count, + managers = c.ComplexManagers.Select(m => m.ManagerMobileNumber).Select(p => p.FirstName + " " + p.LastName), + cityTitle = c.City.CityTitle + }); + //.Select(c => _mapper.Map(c)); + var result = new List(); + foreach (var item in complexList) + { + var complexDto = _mapper.Map(item.complex); + complexDto.UnitCount = item.unitCount; + complexDto.CityTitle = item.cityTitle; + complexDto.ManagerName = String.Join(",", item.managers); + result.Add(complexDto); + } + //var PersonComplex = PersonComplexData.Select(c => _mapper.Map(c)); + + return new ResultDto>(result); + } + //catch (Exception ex) + //{ + // return new ResultDto> + // { + // Message = ex.InnerException != null ? ex.InnerException.Message + Environment.NewLine + ex.InnerException.Data : + // ex.Message + Environment.NewLine + ex.Data, + // IsSuccess = false + // }; + //} + } + + } + public class ComplexDto + { + public Guid? Id { get; set; } + //public DateTime InsertTime { get; set; } + //public DateTime? UpdateTime { get; set; } + public string Title { set; get; } + public string? Address { set; get; } + /// + /// وضعیت + /// + public int? StateId { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + /// + /// تعداد آسانسور + /// + public int? ElevatorCount { set; get; } + /// تعداد انباری + public int? WarehouseCount { set; get; } + public int? YearMake { set; get; } + public int CityId { set; get; } + public Guid? ParentId { set; get; } + public string? Description { set; get; } + public string? CityTitle { set; get; } + public string? ManagerName { set; get; } + public int UnitCount { set; get; } + + } +} diff --git a/Complex.Application/Services/PersonService/PersonService.cs b/Complex.Application/Services/PersonService/PersonService.cs new file mode 100644 index 0000000..6eaeed4 --- /dev/null +++ b/Complex.Application/Services/PersonService/PersonService.cs @@ -0,0 +1,92 @@ +using AutoMapper; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.PersonService +{ + public interface IPersonService + { + public ResultDto InsertPerson(PersonDto person); + public ResultDto EditPerson(PersonDto person); + public ResultDto> GetAllPersons(PersonDto personSearchObj); + } + public class PersonService : IPersonService + { + private readonly IComplexDBContext _complexDBContext; + private IMapper _mapper; + public PersonService(IComplexDBContext complexDBContext, IMapper mapper) + { + _complexDBContext = complexDBContext; + _mapper = mapper; + } + + public ResultDto> GetAllPersons(PersonDto personSearchObj) + { + var persons = _complexDBContext.ComplexPersons.Where(u => u.ComplexId == personSearchObj.ComplexId).Select(cp => cp.PersonMobileNumber); + //در تمام فیلدها با شماره تلفن میتوان جستجو کرد + if (personSearchObj.MobileNumber.IsNotNullOrEmpty()) + { + persons = persons.Where(p => p.Id.Contains(personSearchObj.MobileNumber)); + persons = persons.Where(p => p.FirstName.Contains(personSearchObj.MobileNumber)); + persons = persons.Where(p => p.FirstName.Contains(personSearchObj.MobileNumber)); + } + //if (personSearchObj.FirstName.IsNotNullOrEmpty()) + // persons = persons.Where(p => p.FirstName.Contains(personSearchObj.FirstName)); + + //if (personSearchObj.LastName.IsNotNullOrEmpty()) + // persons = persons.Where(p => p.LastName.Contains(personSearchObj.LastName)); + + //var persons = _complexDBContext.Units.Where(u => u.ComplexId == personSearchObj.ComplexId).Select(p => p.Tenant); + //persons = persons.Union(_complexDBContext.Units.Where(u => u.ComplexId == personSearchObj.ComplexId).Select(p => p.Owner)); + + //if (personSearchObj.MobileNumber.IsNotNullOrEmpty()) + // persons = persons.Where(p => p.Id.Contains(personSearchObj.MobileNumber)); + + //var personResult = persons.Distinct().ToList(); + return new ResultDto> + { + Data = persons.Select(p => _mapper.Map(p)).ToList(), + IsSuccess = true + }; + } + + public ResultDto EditPerson(PersonDto person) + { + throw new NotImplementedException(); + } + + public ResultDto InsertPerson(PersonDto personDto) + { + var newPerson = _mapper.Map(personDto); + var isExist = _complexDBContext.Persons.Any(p => p.Id == personDto.MobileNumber); + if (!isExist) + { + newPerson.Id = personDto.MobileNumber; + _complexDBContext.Persons.Add(newPerson); + _complexDBContext.SaveChanges(); + } + _complexDBContext.ComplexPersons.Add(new ComplexPerson + { + ComplexId = personDto.ComplexId.Value, + PersonMobileNumberId = personDto.MobileNumber, + }); + return new ResultDto { Data = newPerson.Id, IsSuccess = true }; + } + } + public class PersonDto + { + public Guid? ComplexId { set; get; } + public string? MobileNumber { set; get; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public byte? Gender { set; get; } + //public int? MobileCode { set; get; } + public byte[]? Avatar { set; get; } + } +} diff --git a/Complex.Application/Services/PersonService/SiteAccountlService.cs b/Complex.Application/Services/PersonService/SiteAccountlService.cs new file mode 100644 index 0000000..cfed1a9 --- /dev/null +++ b/Complex.Application/Services/PersonService/SiteAccountlService.cs @@ -0,0 +1,170 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Complex.Domain.Entities; +namespace Complex.Application.PersonService +{ + public interface ISiteAccountlService + { + Person FindUserWithPhonenumber(string phoneNumber); + string GetCode(string PhoneNumber); + Person GetUser(string mobileNumber); + LoginDto Login(string phoneNumber, string Code); + void Logout(string mobileNumber); + Person RegisterUser(string PhoneNumber); + } + + public class SiteAccountlService : ISiteAccountlService + //: IPortalService + { + // ============================== + + private IComplexDBContext _complexDBContext; + // ============================== + + public SiteAccountlService(IComplexDBContext complexDBContext) + { + _complexDBContext = complexDBContext; + } + + // ============================== + public Person GetUser(string mobileNumber) + { + var user = _complexDBContext.Persons.SingleOrDefault(p => p.Id == mobileNumber); + return user; + } + + public string GetCode(string PhoneNumber) + { + Random random = new Random(); + string code = random.Next(1000, 9999).ToString(); + SmsCode smsCode = new SmsCode() + { + Code = code, + InsertDate = DateTime.Now, + PhoneNumber = PhoneNumber, + RequestCount = 0, + Used = false, + }; + _complexDBContext.Add(smsCode); + _complexDBContext.SaveChanges(); + + return code; + } + + public LoginDto Login(string phoneNumber, string Code) + { + var user = FindUserWithPhonenumber("09192530212"); + if (user != null) + { + return new LoginDto + { + IsSuccess = true, + Person = user, + }; + } + var smsCode = _complexDBContext.SmsCodes.Where(p => p.PhoneNumber == phoneNumber + && p.Code == Code).FirstOrDefault(); + if (smsCode == null) + { + return new LoginDto + { + IsSuccess = false, + Message = "کد وارد شده صحیح نیست!", + + }; + } + else + { + if (smsCode.Used == true) + { + return new LoginDto + { + IsSuccess = false, + Message = "کد وارد شده صحیح نیست!", + + }; + } + //// + /// + smsCode.RequestCount++; + + smsCode.Used = true; + _complexDBContext.SaveChanges(); + user = FindUserWithPhonenumber(phoneNumber); + if (user != null) + { + return new LoginDto + { + IsSuccess = true, + Person = user, + }; + } + else + { + user = RegisterUser(phoneNumber); + return new LoginDto + { + IsSuccess = true, + Person = user, + }; + } + + } + } + + + public Person FindUserWithPhonenumber(string phoneNumber) + { + var user = _complexDBContext.Persons.SingleOrDefault(p => p.Id.Equals(phoneNumber)); + return user; + } + + public Person RegisterUser(string PhoneNumber) + { + Person user = new Person() + { + Id = PhoneNumber, + IsActive = true, + }; + return user; + } + public void Logout(string mobileNumber) + { + var userToken = _complexDBContext.UserTokens.Where(p => p.PersonId/*همان موبایل*/ == mobileNumber).ToList(); + _complexDBContext.UserTokens.RemoveRange(userToken); + _complexDBContext.SaveChanges(); + } + + } + + public class LoginDto + { + public bool IsSuccess { get; set; } + public string Message { get; set; } + public Person Person { get; set; } + } + public class LoginDataDto + { + public string Token { get; set; } + public string RefreshToken { get; set; } + } + public class LoginResultDto + { + public bool IsSuccess { get; set; } + public string Message { get; set; } + public LoginDataDto Data { get; set; } + } + + //public class PersonDto + //{ + // public long PersonId { get; set; } + // public string FirstName { get; set; } + // public string LastName { get; set; } + // public string Mobile { get; set; } + // public bool? IsActive { get; set; } + //} +} \ No newline at end of file diff --git a/Complex.Application/Services/PersonService/UserTokenService.cs b/Complex.Application/Services/PersonService/UserTokenService.cs new file mode 100644 index 0000000..2b34329 --- /dev/null +++ b/Complex.Application/Services/PersonService/UserTokenService.cs @@ -0,0 +1,60 @@ +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; + +namespace Complex.Application.PersonService +{ + public interface IUserTokenService + { + bool CheckExistToken(string Token); + void DeleteToken(string RefreshToken); + UserToken FindRefreshToken(string RefreshToken); + void SaveToken(UserToken userToken); + } + + public class UserTokenService : IUserTokenService + { + + private IComplexDBContext _complexDBContext; + public UserTokenService(IComplexDBContext complexDBContext) + { + _complexDBContext = complexDBContext; + } + + public void SaveToken(UserToken userToken) + { + _complexDBContext.UserTokens.Add(userToken); + _complexDBContext.SaveChanges(); + } + + public UserToken FindRefreshToken(string RefreshToken) + { + //SecurityHelper securityHelper = new SecurityHelper(); + + string RefreshTokenHash = RefreshToken; + //string RefreshTokenHash = securityHelper.Getsha256Hash(RefreshToken); + var usertoken = _complexDBContext.UserTokens.Include(p => p.Person) + .SingleOrDefault(p => p.RefreshToken == RefreshTokenHash); + return usertoken; + } + + public void DeleteToken(string RefreshToken) + { + var token = FindRefreshToken(RefreshToken); + if (token != null) + { + _complexDBContext.UserTokens.Remove(token); + _complexDBContext.SaveChanges(); + } + } + + public bool CheckExistToken(string Token) + { + //SecurityHelper securityHelper = new SecurityHelper(); + string tokenHash = Token; //securityHelper.Getsha256Hash(Token); + var userToken = _complexDBContext.UserTokens.Where(p => p.TokenHash == tokenHash).FirstOrDefault(); + return userToken == null ? false : true; + } + + } + +} diff --git a/Complex.Application/Services/TransactionServices/TransactionService.cs b/Complex.Application/Services/TransactionServices/TransactionService.cs new file mode 100644 index 0000000..18d5aec --- /dev/null +++ b/Complex.Application/Services/TransactionServices/TransactionService.cs @@ -0,0 +1,159 @@ +using AutoMapper; +using Complex.Application.Common; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Commons; +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.Services.TransactionServices +{ + public interface ITransactionService + { + /* + گزارش پرداختی های یک واحد + گزارش وضعیت پرداخت واحدهای یک مجتمع + ثبت یک تراکنش شارژ + + */ + } + + public class TransactionService : ITransactionService + { + private readonly IComplexDBContext _complexDBContext; + private IMapper _mapper; + + public TransactionService(IComplexDBContext complexDBContext, IMapper mapper) + { + _complexDBContext = complexDBContext; + _mapper = mapper; + } + + public ResultDto> UnitsByTransStateList(Guid complexId, Guid? UnitId, CommonRequestDto commonRequestDto) + { + var trans = _complexDBContext.Transactions.Include(t => t.TransactionTitle).Include(t => t.CostCycle).Include(t => t.Person).Where(t => t.ComplexId == complexId) + .Where(t => UnitId.HasValue ? t.UnitId == UnitId : true) + .ToPagedByOrder(commonRequestDto, out int rowCount).ToList(); + var result = trans.Select(t => new TransactionDto + { + Amount = t.Amount, + CostCycleId = t.CostCycleId, + CostCycleTitle = t.CostCycle.Title, + Description = t.Description, + PersonId = t.PersonId, + PersonName = t.Person.FirstName + " " + t.Person.LastName, + TransactionDate = t.TransactionDate, + TransactionPersianDate = t.TransactionPersianDate, + TransactionTitle = t.TransactionTitle.Title, + UnitCostDate = t.UnitCost.Date, + UnitId = t.UnitId, + UnitName = t.Unit.UnitName + }).ToList(); + return new ResultDto> + { + Data = result, + IsSuccess = true, + }; + } + public ResultDto PayCosts(List UnitCostIds, Guid UnitId, long Amount, + string UserPhone, string Description) + { + var costs = _complexDBContext.UnitCosts.Include(uc => uc.CostCycle) + .Where(uc => UnitCostIds.Contains(uc.Id) && !uc.TransactionId.HasValue).ToList(); + var savedAmount = costs.Sum(c => c.CostCycle.Amount); + if (savedAmount != Amount) + return new ResultDto + { + IsSuccess = false, + Message = "مبلغ صحیح نمی باشد" + }; + + foreach (var c in costs) + { + var newTrans = new Transaction + { + PersonId = UserPhone, + TransactionDate = DateTime.Now, + Amount = c.CostCycle.Amount, + CostCycleId = c.CostCycleId, + UnitId = UnitId, + TransactionTitleId = c.CostCycle.IncomeCostTitleId, + ComplexId = c.CostCycle.ComplexId, + Description = Description, + TransactionPersianDate = PersianDate.GetDate(DateTime.Now), + UnitCostId = c.Id + }; + c.Transaction = newTrans; + //_complexDBContext.Transactions.Add(newTrans); + } + _complexDBContext.SaveChanges(); + return new ResultDto + { + IsSuccess = true, + Message = "ثبت با موفقیت انجام شد" + }; + } + } + + public class TransactionDto + { + public string TransactionTitle { set; get; } + public string TransactionPersianDate { set; get; } + public DateTime TransactionDate { set; get; } + public long Amount { set; get; } = 0; + public string? Description { set; get; } + public Guid? CostCycleId { set; get; } + public string CostCycleTitle { set; get; } + public Guid? UnitId { set; get; } + public string UnitName { set; get; } + //public string? TrackingCode { set; get; } + //public long Remaining { set; get; } = 0; + + public DateOnly UnitCostDate { set; get; } + public string PersonId { set; get; } + public string PersonName { set; get; } + } + + + /* + public class UnitTrancactionStateDto + { + public Guid UnitId { get; set; } + public string UnitTitle { get; set; } + /// + /// مقدار شارژ پرداخت نشده + /// + public int ChargeNoPayAmount { get; set; } + /// + /// تعداد شارژ پرداخت نشده + /// + public int ChargeNoPayCount { get; set; } + /// + /// مقدار پرداخت نشده غیر شارژ + /// + public int OtherNoPayAmount { get; set; } + /// + /// میزان پرداخت کرده + /// + public long PayAmountInYear { set; get; } + /// + /// تعداد شارژ پرداخت شده + /// + public int ChargePayCountInYear { set; get; } + } + public class UnitsByTransState + { + public Guid UnitId { set; get; } + public string UnitName { set; get; } + public string UnitUserMobile { set; get; } + public string UnitUserFullName { set; get; } + public int ChargeReminigCount { set; get; } + } + */ +} diff --git a/Complex.Application/Services/Unit/UnitService.cs b/Complex.Application/Services/Unit/UnitService.cs new file mode 100644 index 0000000..01b4334 --- /dev/null +++ b/Complex.Application/Services/Unit/UnitService.cs @@ -0,0 +1,278 @@ +using AutoMapper; +using Complex.Application.Services.Basic; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Application.Complex +{ + public interface IUnitService + { + /// + /// ثبت توسط مدیر ساختمان + /// + /// + /// + ResultDto InsertUnit(string adminUserId, UnitDto unitDto); + /// + /// ویرایش توسط مدیر ساختمان + /// + /// + /// + ResultDto AdminEditUnit(string adminUserId, UnitDto unitDto); + /// + /// ویرایش توسط مالک + /// + /// + /// + ResultDto OwnerEditUnit(string UserId, UnitDto unitDto); + /// + /// ویرایش توسط مستاجر + /// + /// + /// + ResultDto TenantEditUnit(string UserId, UnitDto unitDto); + ResultDto> UnitList(string userId, UnitRequestList unitRequest); + } + public class UnitService : IUnitService + { + private readonly IComplexDBContext _complexDBContext; + private readonly CostService _costService; + private IMapper _mapper; + + public UnitService(IComplexDBContext complexDBContext, IMapper mapper, CostService costService) + { + _complexDBContext = complexDBContext; + _costService = costService; + _mapper = mapper; + } + public ResultDto> UnitList(string userId, UnitRequestList unitRequest) + { + var today = PersianDate.GetToday(); + var IsUserInComplex = _complexDBContext.Units.Where(u => u.ComplexId == unitRequest.ComplexId + && (u.OwnerId == userId || u.TenantId == userId)) + .Select(a => a.ComplexId) + .Union(_complexDBContext.ComplexManagers.Where(cm => cm.ComplexId == unitRequest.ComplexId + && string.Compare(cm.EndDate, today) >= 0 + && string.Compare(cm.StartDate, today) <= 0) + .Where(u => u.ManagerMobileNumberId == userId) + .Select(u => u.ComplexId)); + + if (IsUserInComplex.Count() == 0) + return new ResultDto> + { + Data = null, + IsSuccess = false, + Message = "درخواست نامعتبر" + }; + + var units = from u in _complexDBContext.Units.Include(u => u.Owner).Include(u => u.Tenant) + .Include(u => u.State) + where u.ComplexId == unitRequest.ComplexId + select u; + if (unitRequest.Id.HasValue) + units = units.Where(u => u.Id == unitRequest.Id); + + if (unitRequest.OwnerId.IsNotNullOrEmpty()) + units = units.Where(u => u.OwnerId == unitRequest.OwnerId); + if (unitRequest.TenantId.IsNotNullOrEmpty()) + units = units.Where(u => u.TenantId == unitRequest.TenantId); + + var unitObjs = units.ToList().Select(u => new UnitDto + { + ComplexId = u.ComplexId, + UnitName = u.UnitName, + Id = u.Id, + AreaMeter = u.AreaMeter, + TenantId = u.TenantId, + EmergencyTels = u.EmergencyTels, + Floor = u.Floor, + InsertTime = Convert.ToDateTime(_complexDBContext.Entry(u).Property("InsertTime").CurrentValue), + UpdateTime = Convert.ToDateTime(_complexDBContext.Entry(u).Property("UpdateTime").CurrentValue), + //InsertTime = u.InsertTime, + IsActive = u.IsActive, + ManagerDescription = u.ManagerDescription, + ParkingAreaMeter = u.ParkingAreaMeter, + PublicState = u.PublicState, + StateTitle = u.StateId.HasValue ? u.State.Title : "", + StateId = u.StateId, + YardMeter = u.YardMeter, + TenantNameFamily = u.TenantId != null ? u.Tenant.FirstName + " " + u.Tenant.LastName : "", + OwnerNameFamily = u.OwnerId != null ? u.Owner.FirstName + " " + u.Owner.LastName : "", + OwnerId = u.OwnerId, + }); + try + { + return new ResultDto> + { + Data = unitObjs.ToList(), + IsSuccess = true, + //RowCount = + }; + } + catch (Exception ex) + { + return new ResultDto> + { + Message = ex.InnerException != null ? ex.InnerException.Message + Environment.NewLine + ex.InnerException.Data : + ex.Message + Environment.NewLine + ex.Data, + IsSuccess = false + }; + } + } + + public ResultDto InsertUnit(string adminUserId, UnitDto unitDto) + { + var unit = _mapper.Map(unitDto); + var complexManager = _complexDBContext.ComplexManagers.Where(c => c.ComplexId == unit.ComplexId) + .Select(cm => cm.ManagerMobileNumberId).ToList(); + if (!complexManager.Any(m => m == adminUserId)) + return new ResultDto + { + Message = "عدم دسترسی", + IsSuccess = false + }; + //unit.InsertTime = DateTime.Now; + _complexDBContext.Units.Add(unit); + _complexDBContext.SaveChanges(); + //محاسبه شارژهای اون یونیت + + var nowDate = DateOnly.FromDateTime(DateTime.Now); + + //وقتی واحد تازه ثبت شده پس در مدیریت شارژ قابلیت ثبت اختصاصی برای خودش نداشته پس باید شارژ عمومی برایش تعریف شود + // اگر خواست میتواند برایش به صورت اختصاصی هم ثبت کند که اون موقع برایش محاسبه مجدد خواهد شد + var costCycleDto = _costService.CostCyclsList(unit.ComplexId, nowDate, nowDate, null).Data + .FirstOrDefault(c => c.UnitIds == null); + if (costCycleDto != null) + { + //var costCycle = new CostCycle + //{ + // Amount=costCycleDto.Amount, + + //}; + var costCycle=_mapper.Map(costCycleDto); + _costService.DefineUnitCharge(unit.Id, costCycle, true); + } + // + return new ResultDto { Data = unit.Id, IsSuccess = true, Message = "ثبت با موفقیت انجام شد" }; + } + public ResultDto AdminEditUnit(string adminUserId, UnitDto unitDto) + { + var unit = _complexDBContext.Units.Include(u => u.Complex).ThenInclude(c => c.ComplexManagers).FirstOrDefault(u => u.Id == unitDto.Id); + if (unit == null) + return new ResultDto { Message = "مشکل در یافتن واحد", IsSuccess = false }; + + var today = PersianDate.GetToday(); + var complex = unit.Complex; + if (complex.ComplexManagers == null || !complex.ComplexManagers.Any(m => m.ManagerMobileNumberId == adminUserId + && string.Compare(m.EndDate, today) >= 0)) + return new ResultDto { Message = "عدم دسترسی", IsSuccess = false }; + + + var oldUnitState = unit.PublicState; + unit = _mapper.Map(unitDto); + unit.PublicState = oldUnitState; + _complexDBContext.SaveChanges(); + + + //oldPayment را باید چه کار کرد؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!!!! + + return new ResultDto { Message = "ویرایش با موفقیت انجام شد", IsSuccess = true }; + } + public ResultDto OwnerEditUnit(string UserId, UnitDto unitDto) + { + var unit = _complexDBContext.Units.FirstOrDefault(u => u.Id == unitDto.Id); + if (unit == null) + return new ResultDto { Message = "مشکل در یافتن واحد", IsSuccess = false }; + if (unit.OwnerId != UserId) + return new ResultDto { Message = "عدم دسترسی", IsSuccess = false }; + + unit.AreaMeter = unitDto.AreaMeter; + unit.YardMeter = unitDto.YardMeter; + unit.ParkingAreaMeter = unitDto.ParkingAreaMeter; + unit.EmergencyTels = unitDto.EmergencyTels; + unit.Floor = unitDto.Floor; + unit.ParkingAreaMeter = unitDto.ParkingAreaMeter; + unit.PublicState = unitDto.PublicState; + unit.YardMeter = unitDto.YardMeter; + + + _complexDBContext.SaveChanges(); + return new ResultDto { Message = "ویرایش با موفقیت انجام شد", IsSuccess = true }; + } + public ResultDto TenantEditUnit(string UserId, UnitDto unitDto) + { + var unit = _complexDBContext.Units.FirstOrDefault(u => u.Id == unitDto.Id); + if (unit == null) + return new ResultDto { Message = "مشکل در یافتن واحد", IsSuccess = false }; + if (unit.TenantId != UserId) + return new ResultDto { Message = "عدم دسترسی", IsSuccess = false }; + + unit.PublicState = unitDto.PublicState; + + _complexDBContext.SaveChanges(); + return new ResultDto { Message = "ویرایش با موفقیت انجام شد", IsSuccess = true }; + } + } + + public class UnitRequestList + { + public Guid? Id { set; get; } + public Guid ComplexId { set; get; } + public string? OwnerId { set; get; } + public string? TenantId { set; get; } + } + + public class UnitDto + { + public Guid Id { get; set; } + public Guid ComplexId { set; get; } + public string UnitName { set; get; } + public ComplexEntity Complex { set; get; } + /// + /// ساکن + /// + public string? OwnerId { set; get; } + /// + /// شماره مستاجر + /// + public string? TenantId { set; get; } + public bool IsActive { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + public string? EmergencyTels { set; get; } + public int? ParkingAreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + public string? PublicState { set; get; } + public int? StateId { set; get; } + public string StateTitle { set; get; } + public int? Floor { set; get; } + //public string? UnitId { set; get; } + public string? ManagerDescription { set; get; } + //----------------------------------------- + + /// + /// نام و نام خانوادگی مالک + /// + public string OwnerNameFamily { set; get; } + /// + /// نام و نام خانوادگی مستاجر + /// + public string TenantNameFamily { set; get; } + //public string StateByManager { set; get; } + public DateTime? InsertTime { get; set; } + public DateTime? UpdateTime { get; set; } + } +} diff --git a/Complex.Application/Services/UserSecurityService.cs b/Complex.Application/Services/UserSecurityService.cs new file mode 100644 index 0000000..4b0c4c1 --- /dev/null +++ b/Complex.Application/Services/UserSecurityService.cs @@ -0,0 +1,16 @@ +//using System; +//using System.Collections.Generic; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; + +//namespace Complex.Application.Services +//{ +// public class UserSecurityService +// { +// public void CheckComplexManager(string ManagerId,Guid ComplexId) +// { + +// } +// } +//} diff --git a/Complex.Application/Services/Utility/ISendUserMessage.cs b/Complex.Application/Services/Utility/ISendUserMessage.cs new file mode 100644 index 0000000..892db68 --- /dev/null +++ b/Complex.Application/Services/Utility/ISendUserMessage.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.Json; +using System.Threading.Tasks; + +namespace Complex.Application.Services.Utility +{ + public interface ISendUserMessage + { + Task> Send(object message, string[] MobileNumber); + Task> SendPattern(string patternCode, string MobileNumber, object values); + } + public class Response where T : Data + { + public string status { get; set; } + public string code { get; set; } + public string message { get; set; } + public T data { get; set; } + + public override string ToString() + { + return JsonSerializer.Serialize(this); + } + + public bool IsSuccessful + { + get + { + return data != null && data.error == null; + } + } + } + + public class Data + { + public string error { get; set; } + } + + public class SendResponse : Response + { + + } + + public class SendData : Data + { + public string bulk_id { get; set; } + } +} diff --git a/Complex.Application/bin/Debug/net6.0/Complex.Application.deps.json b/Complex.Application/bin/Debug/net6.0/Complex.Application.deps.json new file mode 100644 index 0000000..ea7612e --- /dev/null +++ b/Complex.Application/bin/Debug/net6.0/Complex.Application.deps.json @@ -0,0 +1,326 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Application/1.0.0": { + "dependencies": { + "AutoMapper": "11.0.1", + "Complex.Domain": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "System.Linq.Dynamic.Core": "1.6.7" + }, + "runtime": { + "Complex.Application.dll": {} + } + }, + "AutoMapper/11.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.1.0" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.EntityFrameworkCore/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": {}, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.222.6406" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Linq.Dynamic.Core/1.6.7": { + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "assemblyVersion": "1.6.7.0", + "fileVersion": "1.6.7.0" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Complex.Application/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "AutoMapper/11.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "path": "automapper/11.0.1", + "hashPath": "automapper.11.0.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "path": "microsoft.entityframeworkcore/6.0.3", + "hashPath": "microsoft.entityframeworkcore.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "path": "microsoft.extensions.caching.memory/6.0.1", + "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "path": "microsoft.extensions.logging/6.0.0", + "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "path": "microsoft.extensions.options/6.0.0", + "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "path": "microsoft.extensions.primitives/6.0.0", + "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512" + }, + "System.Linq.Dynamic.Core/1.6.7": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lH+YgtovXbxD6JImHl2VXUtXRUvN8BMEZB2ReZNvS+J5GnGGZV9ivxslQ2nJWmKlBjFTReAKsevnQKE4yLP2pA==", + "path": "system.linq.dynamic.core/1.6.7", + "hashPath": "system.linq.dynamic.core.1.6.7.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Application/bin/Debug/net6.0/Complex.Application.dll b/Complex.Application/bin/Debug/net6.0/Complex.Application.dll new file mode 100644 index 0000000..d32a20a Binary files /dev/null and b/Complex.Application/bin/Debug/net6.0/Complex.Application.dll differ diff --git a/Complex.Application/bin/Debug/net6.0/Complex.Application.pdb b/Complex.Application/bin/Debug/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..f0edce8 Binary files /dev/null and b/Complex.Application/bin/Debug/net6.0/Complex.Application.pdb differ diff --git a/Complex.Application/bin/Debug/net6.0/Complex.Domain.dll b/Complex.Application/bin/Debug/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..5e5e26d Binary files /dev/null and b/Complex.Application/bin/Debug/net6.0/Complex.Domain.dll differ diff --git a/Complex.Application/bin/Debug/net6.0/Complex.Domain.pdb b/Complex.Application/bin/Debug/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..1659eeb Binary files /dev/null and b/Complex.Application/bin/Debug/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Application/bin/Release/net6.0/Complex.Application.deps.json b/Complex.Application/bin/Release/net6.0/Complex.Application.deps.json new file mode 100644 index 0000000..b5c5c5e --- /dev/null +++ b/Complex.Application/bin/Release/net6.0/Complex.Application.deps.json @@ -0,0 +1,323 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Application/1.0.0": { + "dependencies": { + "AutoMapper": "11.0.1", + "Complex.Domain": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "System.Linq.Dynamic.Core": "1.2.18" + }, + "runtime": { + "Complex.Application.dll": {} + } + }, + "AutoMapper/11.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.1.0" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.EntityFrameworkCore/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": {}, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.222.6406" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Linq.Dynamic.Core/1.2.18": { + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "assemblyVersion": "1.2.18.0", + "fileVersion": "1.2.18.0" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "Complex.Application/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "AutoMapper/11.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "path": "automapper/11.0.1", + "hashPath": "automapper.11.0.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "path": "microsoft.entityframeworkcore/6.0.3", + "hashPath": "microsoft.entityframeworkcore.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "path": "microsoft.extensions.caching.memory/6.0.1", + "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "path": "microsoft.extensions.logging/6.0.0", + "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "path": "microsoft.extensions.options/6.0.0", + "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "path": "microsoft.extensions.primitives/6.0.0", + "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512" + }, + "System.Linq.Dynamic.Core/1.2.18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+RH90sKD6SK2c9MD2Xo2jz1hkAJYfgPVyW1VgAwiPURR+JzOJCdvsDBg2Iq97FmTymxlQBY76G1cMxsF6j+6tA==", + "path": "system.linq.dynamic.core/1.2.18", + "hashPath": "system.linq.dynamic.core.1.2.18.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Application/bin/Release/net6.0/Complex.Application.dll b/Complex.Application/bin/Release/net6.0/Complex.Application.dll new file mode 100644 index 0000000..6742851 Binary files /dev/null and b/Complex.Application/bin/Release/net6.0/Complex.Application.dll differ diff --git a/Complex.Application/bin/Release/net6.0/Complex.Application.pdb b/Complex.Application/bin/Release/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..22424d9 Binary files /dev/null and b/Complex.Application/bin/Release/net6.0/Complex.Application.pdb differ diff --git a/Complex.Application/bin/Release/net6.0/Complex.Domain.dll b/Complex.Application/bin/Release/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..816e027 Binary files /dev/null and b/Complex.Application/bin/Release/net6.0/Complex.Domain.dll differ diff --git a/Complex.Application/bin/Release/net6.0/Complex.Domain.pdb b/Complex.Application/bin/Release/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..cf3d7e2 Binary files /dev/null and b/Complex.Application/bin/Release/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Application/obj/Complex.Application.csproj.nuget.dgspec.json b/Complex.Application/obj/Complex.Application.csproj.nuget.dgspec.json new file mode 100644 index 0000000..f3da2b8 --- /dev/null +++ b/Complex.Application/obj/Complex.Application.csproj.nuget.dgspec.json @@ -0,0 +1,160 @@ +{ + "format": 1, + "restore": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj": {} + }, + "projects": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "projectName": "Complex.Application", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "AutoMapper": { + "target": "Package", + "version": "[11.0.1, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.1, )" + }, + "System.Linq.Dynamic.Core": { + "target": "Package", + "version": "[1.6.7, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + }, + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "projectName": "Complex.Domain", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Complex.Application/obj/Complex.Application.csproj.nuget.g.props b/Complex.Application/obj/Complex.Application.csproj.nuget.g.props new file mode 100644 index 0000000..f359f77 --- /dev/null +++ b/Complex.Application/obj/Complex.Application.csproj.nuget.g.props @@ -0,0 +1,16 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Mohammad\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.12.2 + + + + + + \ No newline at end of file diff --git a/Complex.Application/obj/Complex.Application.csproj.nuget.g.targets b/Complex.Application/obj/Complex.Application.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/Complex.Application/obj/Complex.Application.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Complex.Application/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Application/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..ed92695 --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/Complex.Application/obj/Debug/net6.0/Complex..21753AE1.Up2Date b/Complex.Application/obj/Debug/net6.0/Complex..21753AE1.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfo.cs b/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfo.cs new file mode 100644 index 0000000..cba2bbb --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+76f4cde59f94d1616f39953a840a5ca7ef9213e0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfoInputs.cache b/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfoInputs.cache new file mode 100644 index 0000000..5148073 --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +1eda3f8ccd818f50342015e8b87e35664c973fb402e1aa8a79d0426b367d67ca diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Application/obj/Debug/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..256926e --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Application +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Application\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 6.0 +build_property.EnableCodeStyleSeverity = diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.GlobalUsings.g.cs b/Complex.Application/obj/Debug/net6.0/Complex.Application.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.assets.cache b/Complex.Application/obj/Debug/net6.0/Complex.Application.assets.cache new file mode 100644 index 0000000..db86f43 Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/Complex.Application.assets.cache differ diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.AssemblyReference.cache b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.AssemblyReference.cache new file mode 100644 index 0000000..bd017ea Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.AssemblyReference.cache differ diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.BuildWithSkipAnalyzers b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.CoreCompileInputs.cache b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ada5a94 --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +e1b9312e8d3e324bc23b2c275d0084af903e30db2cdd7a1cd94e2abd6a084e7e diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.FileListAbsolute.txt b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..3b3c286 --- /dev/null +++ b/Complex.Application/obj/Debug/net6.0/Complex.Application.csproj.FileListAbsolute.txt @@ -0,0 +1,30 @@ +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.deps.json +F:\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.csproj.CopyComplete +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\refint\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\ref\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Debug\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.csproj.AssemblyReference.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\refint\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\ref\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Debug\net6.0\Complex..21753AE1.Up2Date diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.dll b/Complex.Application/obj/Debug/net6.0/Complex.Application.dll new file mode 100644 index 0000000..d32a20a Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/Complex.Application.dll differ diff --git a/Complex.Application/obj/Debug/net6.0/Complex.Application.pdb b/Complex.Application/obj/Debug/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..f0edce8 Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/Complex.Application.pdb differ diff --git a/Complex.Application/obj/Debug/net6.0/ref/Complex.Application.dll b/Complex.Application/obj/Debug/net6.0/ref/Complex.Application.dll new file mode 100644 index 0000000..d3b9295 Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/ref/Complex.Application.dll differ diff --git a/Complex.Application/obj/Debug/net6.0/refint/Complex.Application.dll b/Complex.Application/obj/Debug/net6.0/refint/Complex.Application.dll new file mode 100644 index 0000000..d3b9295 Binary files /dev/null and b/Complex.Application/obj/Debug/net6.0/refint/Complex.Application.dll differ diff --git a/Complex.Application/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Application/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..36203c7 --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfo.cs b/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfo.cs new file mode 100644 index 0000000..6c47e16 --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Application")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfoInputs.cache b/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfoInputs.cache new file mode 100644 index 0000000..117c62b --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +f5a5886ee460af73395f17d81ba054deef236f12 diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Application/obj/Release/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..be2ea45 --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,10 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Application +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Application\ diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.GlobalUsings.g.cs b/Complex.Application/obj/Release/net6.0/Complex.Application.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.assets.cache b/Complex.Application/obj/Release/net6.0/Complex.Application.assets.cache new file mode 100644 index 0000000..0eddc77 Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/Complex.Application.assets.cache differ diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.AssemblyReference.cache b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.AssemblyReference.cache new file mode 100644 index 0000000..fa199e7 Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.AssemblyReference.cache differ diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.CopyComplete b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.CoreCompileInputs.cache b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ff2ce06 --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +03862b89a1a3273486ee639781a415f4002d1a6b diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.FileListAbsolute.txt b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..873ed16 --- /dev/null +++ b/Complex.Application/obj/Release/net6.0/Complex.Application.csproj.FileListAbsolute.txt @@ -0,0 +1,30 @@ +F:\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.deps.json +F:\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.CopyComplete +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\refint\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\ref\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\bin\Release\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.AssemblyReference.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.csproj.CopyComplete +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\refint\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Application\obj\Release\net6.0\ref\Complex.Application.dll diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.dll b/Complex.Application/obj/Release/net6.0/Complex.Application.dll new file mode 100644 index 0000000..6742851 Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/Complex.Application.dll differ diff --git a/Complex.Application/obj/Release/net6.0/Complex.Application.pdb b/Complex.Application/obj/Release/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..22424d9 Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/Complex.Application.pdb differ diff --git a/Complex.Application/obj/Release/net6.0/ref/Complex.Application.dll b/Complex.Application/obj/Release/net6.0/ref/Complex.Application.dll new file mode 100644 index 0000000..95eadcf Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/ref/Complex.Application.dll differ diff --git a/Complex.Application/obj/Release/net6.0/refint/Complex.Application.dll b/Complex.Application/obj/Release/net6.0/refint/Complex.Application.dll new file mode 100644 index 0000000..95eadcf Binary files /dev/null and b/Complex.Application/obj/Release/net6.0/refint/Complex.Application.dll differ diff --git a/Complex.Application/obj/project.assets.json b/Complex.Application/obj/project.assets.json new file mode 100644 index 0000000..901d2cf --- /dev/null +++ b/Complex.Application/obj/project.assets.json @@ -0,0 +1,912 @@ +{ + "version": 3, + "targets": { + "net6.0": { + "AutoMapper/11.0.1": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "compile": { + "lib/netstandard2.1/AutoMapper.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Linq.Dynamic.Core/1.6.7": { + "type": "package", + "compile": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "related": ".pdb;.xml" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Complex.Domain/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "compile": { + "bin/placeholder/Complex.Domain.dll": {} + }, + "runtime": { + "bin/placeholder/Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "AutoMapper/11.0.1": { + "sha512": "WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "type": "package", + "path": "automapper/11.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "automapper.11.0.1.nupkg.sha512", + "automapper.nuspec", + "icon.png", + "lib/netstandard2.1/AutoMapper.dll", + "lib/netstandard2.1/AutoMapper.xml" + ] + }, + "Microsoft.CSharp/4.7.0": { + "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "type": "package", + "path": "microsoft.csharp/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.xml", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.7.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcore50/Microsoft.CSharp.xml", + "ref/netcore50/de/Microsoft.CSharp.xml", + "ref/netcore50/es/Microsoft.CSharp.xml", + "ref/netcore50/fr/Microsoft.CSharp.xml", + "ref/netcore50/it/Microsoft.CSharp.xml", + "ref/netcore50/ja/Microsoft.CSharp.xml", + "ref/netcore50/ko/Microsoft.CSharp.xml", + "ref/netcore50/ru/Microsoft.CSharp.xml", + "ref/netcore50/zh-hans/Microsoft.CSharp.xml", + "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard1.0/Microsoft.CSharp.xml", + "ref/netstandard1.0/de/Microsoft.CSharp.xml", + "ref/netstandard1.0/es/Microsoft.CSharp.xml", + "ref/netstandard1.0/fr/Microsoft.CSharp.xml", + "ref/netstandard1.0/it/Microsoft.CSharp.xml", + "ref/netstandard1.0/ja/Microsoft.CSharp.xml", + "ref/netstandard1.0/ko/Microsoft.CSharp.xml", + "ref/netstandard1.0/ru/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "sha512": "f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "type": "package", + "path": "microsoft.entityframeworkcore/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "sha512": "7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "sha512": "Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "sha512": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "type": "package", + "path": "microsoft.extensions.caching.memory/6.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Caching.Memory.dll", + "lib/net461/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/6.0.0": { + "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "type": "package", + "path": "microsoft.extensions.logging/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "build/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/6.0.0": { + "sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "type": "package", + "path": "microsoft.extensions.options/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Options.dll", + "lib/net461/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.6.0.0.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "type": "package", + "path": "microsoft.extensions.primitives/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Primitives.dll", + "lib/net461/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Newtonsoft.Json/13.0.1": { + "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "type": "package", + "path": "newtonsoft.json/13.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.1.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "sha512": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.DiagnosticSource.dll", + "lib/net461/System.Diagnostics.DiagnosticSource.xml", + "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Linq.Dynamic.Core/1.6.7": { + "sha512": "lH+YgtovXbxD6JImHl2VXUtXRUvN8BMEZB2ReZNvS+J5GnGGZV9ivxslQ2nJWmKlBjFTReAKsevnQKE4yLP2pA==", + "type": "package", + "path": "system.linq.dynamic.core/1.6.7", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "PackageReadme.md", + "lib/net35/System.Linq.Dynamic.Core.dll", + "lib/net35/System.Linq.Dynamic.Core.pdb", + "lib/net35/System.Linq.Dynamic.Core.xml", + "lib/net40/System.Linq.Dynamic.Core.dll", + "lib/net40/System.Linq.Dynamic.Core.pdb", + "lib/net40/System.Linq.Dynamic.Core.xml", + "lib/net45/System.Linq.Dynamic.Core.dll", + "lib/net45/System.Linq.Dynamic.Core.pdb", + "lib/net45/System.Linq.Dynamic.Core.xml", + "lib/net452/System.Linq.Dynamic.Core.dll", + "lib/net452/System.Linq.Dynamic.Core.pdb", + "lib/net452/System.Linq.Dynamic.Core.xml", + "lib/net46/System.Linq.Dynamic.Core.dll", + "lib/net46/System.Linq.Dynamic.Core.pdb", + "lib/net46/System.Linq.Dynamic.Core.xml", + "lib/net5.0/System.Linq.Dynamic.Core.dll", + "lib/net5.0/System.Linq.Dynamic.Core.pdb", + "lib/net5.0/System.Linq.Dynamic.Core.xml", + "lib/net6.0/System.Linq.Dynamic.Core.dll", + "lib/net6.0/System.Linq.Dynamic.Core.pdb", + "lib/net6.0/System.Linq.Dynamic.Core.xml", + "lib/net7.0/System.Linq.Dynamic.Core.dll", + "lib/net7.0/System.Linq.Dynamic.Core.pdb", + "lib/net7.0/System.Linq.Dynamic.Core.xml", + "lib/net8.0/System.Linq.Dynamic.Core.dll", + "lib/net8.0/System.Linq.Dynamic.Core.pdb", + "lib/net8.0/System.Linq.Dynamic.Core.xml", + "lib/net9.0/System.Linq.Dynamic.Core.dll", + "lib/net9.0/System.Linq.Dynamic.Core.pdb", + "lib/net9.0/System.Linq.Dynamic.Core.xml", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.dll", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.pdb", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.xml", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.dll", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.pdb", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.xml", + "lib/netstandard1.3/System.Linq.Dynamic.Core.dll", + "lib/netstandard1.3/System.Linq.Dynamic.Core.pdb", + "lib/netstandard1.3/System.Linq.Dynamic.Core.xml", + "lib/netstandard2.0/System.Linq.Dynamic.Core.dll", + "lib/netstandard2.0/System.Linq.Dynamic.Core.pdb", + "lib/netstandard2.0/System.Linq.Dynamic.Core.xml", + "lib/netstandard2.1/System.Linq.Dynamic.Core.dll", + "lib/netstandard2.1/System.Linq.Dynamic.Core.pdb", + "lib/netstandard2.1/System.Linq.Dynamic.Core.xml", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.dll", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.pdb", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.pri", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.xml", + "logo.png", + "system.linq.dynamic.core.1.6.7.nupkg.sha512", + "system.linq.dynamic.core.nuspec" + ] + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Complex.Domain/1.0.0": { + "type": "project", + "path": "../Complex.Domain/Complex.Domain.csproj", + "msbuildProject": "../Complex.Domain/Complex.Domain.csproj" + } + }, + "projectFileDependencyGroups": { + "net6.0": [ + "AutoMapper >= 11.0.1", + "Complex.Domain >= 1.0.0", + "Microsoft.EntityFrameworkCore >= 6.0.3", + "Newtonsoft.Json >= 13.0.1", + "System.Linq.Dynamic.Core >= 1.6.7" + ] + }, + "packageFolders": { + "C:\\Users\\Mohammad\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "projectName": "Complex.Application", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "AutoMapper": { + "target": "Package", + "version": "[11.0.1, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.1, )" + }, + "System.Linq.Dynamic.Core": { + "target": "Package", + "version": "[1.6.7, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Complex.Application/obj/project.nuget.cache b/Complex.Application/obj/project.nuget.cache new file mode 100644 index 0000000..1c9e1c7 --- /dev/null +++ b/Complex.Application/obj/project.nuget.cache @@ -0,0 +1,27 @@ +{ + "version": 2, + "dgSpecHash": "9ZzH9UTX/k0=", + "success": true, + "projectFilePath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "expectedPackageFiles": [ + "C:\\Users\\Mohammad\\.nuget\\packages\\automapper\\11.0.1\\automapper.11.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore\\6.0.3\\microsoft.entityframeworkcore.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\6.0.3\\microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\6.0.3\\microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\6.0.0\\microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.caching.memory\\6.0.1\\microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.0\\microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.logging\\6.0.0\\microsoft.extensions.logging.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.0\\microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.linq.dynamic.core\\1.6.7\\system.linq.dynamic.core.1.6.7.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/Complex.Domain/Commons/AuditableAttribute.cs b/Complex.Domain/Commons/AuditableAttribute.cs new file mode 100644 index 0000000..f02263b --- /dev/null +++ b/Complex.Domain/Commons/AuditableAttribute.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Complex.Domain.Commons +{ + [AttributeUsage(AttributeTargets.Class)] + public class AuditableAttribute:Attribute + { + } +} diff --git a/Complex.Domain/Commons/BaseEntity.cs b/Complex.Domain/Commons/BaseEntity.cs new file mode 100644 index 0000000..8083652 --- /dev/null +++ b/Complex.Domain/Commons/BaseEntity.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using System.Threading.Tasks; + +namespace Complex.Domain.Commons +{ + /// + /// دارای شماره / تاریخ ثبت / تاریخ ویرایش / حذف شده یا خیر / زمان حذف + /// + /// + public abstract class BaseEntity + { + //[DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public TKey Id { get; set; } + //public DateTime? InsertTime { get; private set; } = DateTime.Now; + //public DateTime? UpdateTime { get; private set; } + //[JsonIgnore] + //public bool IsRemoved { get; private set; } = false; + //[JsonIgnore] + //public DateTime? RemoveTime { get; private set; } + } + /// + /// دارای شماره عددی پیش فرض اینت / تاریخ ثبت / تاریخ ویرایش / حذف شده یا خیر / زمان حذف + /// + /// + public abstract class BaseEntity : BaseEntity + { + + } +} diff --git a/Complex.Domain/Commons/BaseEntityNotId.cs b/Complex.Domain/Commons/BaseEntityNotId.cs new file mode 100644 index 0000000..c6d3233 --- /dev/null +++ b/Complex.Domain/Commons/BaseEntityNotId.cs @@ -0,0 +1,12 @@ +using System; + +namespace Complex.Domain.Commons +{ + public abstract class BaseEntityNotId + { + public DateTime InsertTime { get; set; } = DateTime.Now; + public DateTime? UpdateTime { get; set; } + public bool IsRemoved { get; set; } = false; + public DateTime? RemoveTime { get; set; } + } +} diff --git a/Complex.Domain/Complex.Domain.csproj b/Complex.Domain/Complex.Domain.csproj new file mode 100644 index 0000000..37bfe96 --- /dev/null +++ b/Complex.Domain/Complex.Domain.csproj @@ -0,0 +1,21 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + + + + diff --git a/Complex.Domain/Entities/BasicTable.cs b/Complex.Domain/Entities/BasicTable.cs new file mode 100644 index 0000000..8878fe7 --- /dev/null +++ b/Complex.Domain/Entities/BasicTable.cs @@ -0,0 +1,10 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + public class BasicTable: BaseEntity + { + //public int Id { set; get; } + public string Title { set; get; } + } +} diff --git a/Complex.Domain/Entities/ChargeCycle.cs b/Complex.Domain/Entities/ChargeCycle.cs new file mode 100644 index 0000000..d771ec7 --- /dev/null +++ b/Complex.Domain/Entities/ChargeCycle.cs @@ -0,0 +1,37 @@ +using Complex.Domain.Commons; +using System.ComponentModel.DataAnnotations; + +namespace Complex.Domain.Entities +{ + /// + /// مدیریت شارژ + /// + [Auditable]//UnitCharge + public class CostCycle:BaseEntity + { + public Guid ComplexId { set; get; } + public virtual ComplexEntity Complex { set; get; } + public string Title { set; get; } + public DateOnly StartDate { set; get; } + public DateOnly EndDate { set; get; } + public long Amount { set; get; } = 0; + /// + /// روز از ماه برای تشویقی + /// + public int EncouragementDay { set; get; } = 0; + /// + /// مبلغ اجاره با احتساب تشویقی + /// + public long EncouragementAmount { set; get; } = 0; + /// + /// اگر برای واحدهای خاصی بود + /// + //public virtual List? UnitChargeCycles { set; get; } + public virtual ICollection Units { set; get; } + /// + /// null یعنی شارژ + /// + public int? IncomeCostTitleId { set; get; } + public virtual IncomeCostTitle? IncomeCostTitle { set; get; } + } +} diff --git a/Complex.Domain/Entities/Chat.cs b/Complex.Domain/Entities/Chat.cs new file mode 100644 index 0000000..f849e38 --- /dev/null +++ b/Complex.Domain/Entities/Chat.cs @@ -0,0 +1,12 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + public class Chat:BaseEntity + { + public Guid ComplexId { set; get; } + public string PersonMobileNumber { set; get; } + public string Body { set; get; } + public byte ChatTypeId { set; get; } + } +} diff --git a/Complex.Domain/Entities/City.cs b/Complex.Domain/Entities/City.cs new file mode 100644 index 0000000..4f271c9 --- /dev/null +++ b/Complex.Domain/Entities/City.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; + +namespace Complex.Domain.Entities +{ + public partial class City + { + public City() + { + + } + + public int CityId { get; set; } + public int? ProvinceId { get; set; } + public string? CityTitle { get; set; } + + public virtual Province? Province { get; set; } + } +} diff --git a/Complex.Domain/Entities/ComplexEntity.cs b/Complex.Domain/Entities/ComplexEntity.cs new file mode 100644 index 0000000..788f91c --- /dev/null +++ b/Complex.Domain/Entities/ComplexEntity.cs @@ -0,0 +1,43 @@ +using Complex.Domain.Commons; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class ComplexEntity : BaseEntity + { + public string Title { set; get; } + public string? Address { set; get; } + /// + /// وضعیت + /// + public int? StateId { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + /// + /// تعداد آسانسور + /// + public int? ElevatorCount { set; get; } + /// تعداد انباری + public int? WarehouseCount { set; get; } + public int? YearMake { set; get; } + public Guid? ParentId { set; get; } + public ComplexEntity? Parent { set; get; } + public string? Description { set; get; } + public int CityId { set; get; } + public virtual City City { set; get; } + public virtual Collection ComplexManagers { set; get; } + public virtual ICollection Units { set; get; } + } +} diff --git a/Complex.Domain/Entities/ComplexManager.cs b/Complex.Domain/Entities/ComplexManager.cs new file mode 100644 index 0000000..2aec51c --- /dev/null +++ b/Complex.Domain/Entities/ComplexManager.cs @@ -0,0 +1,22 @@ +using Complex.Domain.Commons; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class ComplexManager + { + public int Id { set; get; } + public Guid ComplexId { set; get; } + public virtual ComplexEntity Complex { set; get; } + public string? ManagerMobileNumberId { set; get; } + public Person? ManagerMobileNumber { set; get; } + public string StartDate { set; get; } + public string EndDate { set; get; } + } +} \ No newline at end of file diff --git a/Complex.Domain/Entities/ComplexUnitEvent.cs b/Complex.Domain/Entities/ComplexUnitEvent.cs new file mode 100644 index 0000000..5b48fb7 --- /dev/null +++ b/Complex.Domain/Entities/ComplexUnitEvent.cs @@ -0,0 +1,28 @@ +using Complex.Domain.Commons; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class ComplexUnitEvent : BaseEntity + { + /// + /// اگر برای واحد بود + /// + public Guid? UnitId { set; get; } + /// + /// اگر برای مجتمع بود + /// + public int? ComplexId { set; get; } + [MaxLength(10)] + public string EventDate { set; get; } + public string RegisterMobileNumber { set; get; } + public string Body { set; get; } + public string? Description { set; get; } + } +} diff --git a/Complex.Domain/Entities/Person.cs b/Complex.Domain/Entities/Person.cs new file mode 100644 index 0000000..cd93b88 --- /dev/null +++ b/Complex.Domain/Entities/Person.cs @@ -0,0 +1,32 @@ +using Complex.Domain.Commons; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class Person : BaseEntity + { + //[Key] + //public string MobileNumber { set; get; } + + public ICollection UserTokens { get; set; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public byte? Gender { set;get; } + //public int? MobileCode { set;get; } + public byte[]? Avatar { set; get; } + public bool IsActive { set; get; } = true; + } + public class ComplexPerson : BaseEntity + { + public Guid ComplexId { set; get; } + //public virtual ComplexEntity Complex { set; get; } + public string? PersonMobileNumberId { set; get; } + public Person? PersonMobileNumber { set; get; } + } +} diff --git a/Complex.Domain/Entities/Poster.cs b/Complex.Domain/Entities/Poster.cs new file mode 100644 index 0000000..73e6c86 --- /dev/null +++ b/Complex.Domain/Entities/Poster.cs @@ -0,0 +1,11 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + public class Poster:BaseEntity + { + public string RegisterMobileNumber { set; get; } + public bool IsActive { set; get; } = false; + public string ImagePath { set; get; } + } +} diff --git a/Complex.Domain/Entities/Province.cs b/Complex.Domain/Entities/Province.cs new file mode 100644 index 0000000..8bed573 --- /dev/null +++ b/Complex.Domain/Entities/Province.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; + +namespace Complex.Domain.Entities +{ + public partial class Province + { + public Province() + { + Cities = new HashSet(); + } + + public int ProvinceId { get; set; } + public string? ProvinceTitle { get; set; } + public virtual ICollection Cities { get; set; } + } +} diff --git a/Complex.Domain/Entities/SmsCode.cs b/Complex.Domain/Entities/SmsCode.cs new file mode 100644 index 0000000..d0d2bc2 --- /dev/null +++ b/Complex.Domain/Entities/SmsCode.cs @@ -0,0 +1,13 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + public class SmsCode:BaseEntity + { + public string PhoneNumber { get; set; } + public string Code { get; set; } + public bool Used { get; set; } + public int RequestCount { get; set; } + public DateTime InsertDate { get; set; } + } +} diff --git a/Complex.Domain/Entities/Transaction.cs b/Complex.Domain/Entities/Transaction.cs new file mode 100644 index 0000000..2b9e657 --- /dev/null +++ b/Complex.Domain/Entities/Transaction.cs @@ -0,0 +1,41 @@ +using Complex.Domain.Commons; +using System.ComponentModel.DataAnnotations; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class Transaction : BaseEntity + { + public int? TransactionTitleId { set; get; } + public IncomeCostTitle? TransactionTitle { set; get; } + [MaxLength(10)] + public string TransactionPersianDate { set; get; } + public DateTime TransactionDate { set; get; } + public long Amount { set; get; } = 0; + public string? Description { set; get; } + public Guid? CostCycleId { set; get; } + //افزونگی برای شارژ + //public Guid ChargeTypeId { set; get; } + /// + /// null یعنی شارژ + /// + //public int? ChargeTypeId { set; get; } + public virtual CostCycle? CostCycle { set; get; } + public Guid? UnitId { set; get; } + public virtual Unit? Unit { set; get; } + //public string? TrackingCode { set; get; } + //public long Remaining { set; get; } = 0; + + /// + ///شماره فیش. اگر با فیش چیزی واریز شده است + /// + public string? FicheId { set; get; } + + public Guid ComplexId { set; get; } + public long UnitCostId { set; get; } + public virtual UnitCost? UnitCost { set; get; } + public string PersonId { set; get; } + public Person Person { set; get; } + } + +} diff --git a/Complex.Domain/Entities/TransactionTitle.cs b/Complex.Domain/Entities/TransactionTitle.cs new file mode 100644 index 0000000..cb1169a --- /dev/null +++ b/Complex.Domain/Entities/TransactionTitle.cs @@ -0,0 +1,19 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + /// + ///عنوان درآمد و هزینه ها + /// + [Auditable] + public class IncomeCostTitle :BaseEntity + { + public string? Title { set; get; } + public int TransactionTypeId { set; get; } + public TransactionType TransactionType { set; get; } + //public bool IsPublic { set; get; } = false; + public Guid? ComplexId { set; get; } + public virtual ComplexEntity? Complex { set; get; } + public string? RegisterMobileNumber { set; get; } + } +} \ No newline at end of file diff --git a/Complex.Domain/Entities/TransactionType.cs b/Complex.Domain/Entities/TransactionType.cs new file mode 100644 index 0000000..f5ffc18 --- /dev/null +++ b/Complex.Domain/Entities/TransactionType.cs @@ -0,0 +1,9 @@ +namespace Complex.Domain.Entities +{ + /// + /// درآمد- مخارج + /// + public class TransactionType: BasicTable + { + } +} diff --git a/Complex.Domain/Entities/Unit.cs b/Complex.Domain/Entities/Unit.cs new file mode 100644 index 0000000..42cba86 --- /dev/null +++ b/Complex.Domain/Entities/Unit.cs @@ -0,0 +1,52 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class Unit : BaseEntity + { + public Guid ComplexId { set; get; } + public string UnitName { set; get; } + public virtual ComplexEntity Complex { set; get; } + /// + /// ساکن + /// + public string? OwnerId { set; get; } + /// + /// ساکن + /// + public virtual Person? Owner { set; get; } + /// + /// شماره مستاجر + /// + public string? TenantId { set; get; } + /// + /// مستاجر + /// + public virtual Person? Tenant { set; get; } + public bool IsActive { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + /// + /// بدهی از قبل + /// + //public int? RemainingAmount { set; get; } + //public string? LastPaymentDate { set; get; } + public string? EmergencyTels { set; get; } + public int? ParkingAreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + public string? PublicState { set; get; } + public int? StateId { set; get; } + public virtual UnitState State { set; get; } + public int? Floor { set; get; } + //public string? UnitId { set; get; } + public string? ManagerDescription { set; get; } + public virtual ICollection CostCycles { set; get; } + + } +} diff --git a/Complex.Domain/Entities/UnitAmountTrans.c--aaas b/Complex.Domain/Entities/UnitAmountTrans.c--aaas new file mode 100644 index 0000000..12d69e2 --- /dev/null +++ b/Complex.Domain/Entities/UnitAmountTrans.c--aaas @@ -0,0 +1,14 @@ +//using Complex.Domain.Commons; +//using System.ComponentModel.DataAnnotations; + +//namespace Complex.Domain.Entities +//{ +// [Auditable] +// public class UnitTransAmount : BaseEntity +// { +// public long Amount { set; get; } = 0; +// public Guid? UnitId { set; get; } +// public virtual Unit? Unit { set; get; } +// public Guid ComplexId { set; get; } +// } +//} diff --git a/Complex.Domain/Entities/UnitCharge.cs b/Complex.Domain/Entities/UnitCharge.cs new file mode 100644 index 0000000..a1dae5b --- /dev/null +++ b/Complex.Domain/Entities/UnitCharge.cs @@ -0,0 +1,16 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + [Auditable] + public class UnitCost : BaseEntity + { + public Guid CostCycleId { set; get; } + public virtual CostCycle CostCycle { set; get; } + public Guid UnitId { get; set; } + public virtual Unit Unit { get; set; } + public virtual Transaction Transaction { get; set; } + public int? TransactionId { get; set; } + public DateOnly Date { set; get; } + } +} diff --git a/Complex.Domain/Entities/UnitChargeType.cs b/Complex.Domain/Entities/UnitChargeType.cs new file mode 100644 index 0000000..6ec664f --- /dev/null +++ b/Complex.Domain/Entities/UnitChargeType.cs @@ -0,0 +1,20 @@ +//using Complex.Domain.Commons; + +//namespace Complex.Domain.Entities +//{ +// [Auditable] +// public class UnitChargeCycle +// { +// public int Id { set; get; } +// public Guid ChargeCycle { set; get; } +// //public Guid ComplexId { set; get; } +// public Guid UnitId { set; get; } +// public virtual Unit Unit { set; get; } + +// /// +// /// null یعنی شارژ +// /// +// //public int? ChargeTypeId { set; get; } +// public bool IsRemoved { set; get; }= false; +// } +//} diff --git a/Complex.Domain/Entities/UnitState.cs b/Complex.Domain/Entities/UnitState.cs new file mode 100644 index 0000000..3791006 --- /dev/null +++ b/Complex.Domain/Entities/UnitState.cs @@ -0,0 +1,15 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + /// + /// وضعیت که مدیر ثبت می کند + /// + [Auditable] + public class UnitState : BaseEntity + { + public Guid? ComplexId { set; get; } + public string Title { set; get; } + public string Icon { set; get; } + } +} diff --git a/Complex.Domain/Entities/UserToken.cs b/Complex.Domain/Entities/UserToken.cs new file mode 100644 index 0000000..2eeed83 --- /dev/null +++ b/Complex.Domain/Entities/UserToken.cs @@ -0,0 +1,20 @@ +using Complex.Domain.Commons; + +namespace Complex.Domain.Entities +{ + public class UserToken : BaseEntity + { + public string TokenHash { get; set; } + public DateTime TokenExp { get; set; } + public string RefreshToken { get; set; } + public DateTime RefreshTokenExp { get; set; } + + public string MobileModel { get; set; } + + public Person Person { get; set; } + /// + /// mobileNumber + /// + public string PersonId { get; set; } + } +} diff --git a/Complex.Domain/bin/Debug/net6.0/Complex.Domain.deps.json b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.deps.json new file mode 100644 index 0000000..e12250d --- /dev/null +++ b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Domain/bin/Debug/net6.0/Complex.Domain.dll b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..5e5e26d Binary files /dev/null and b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.dll differ diff --git a/Complex.Domain/bin/Debug/net6.0/Complex.Domain.pdb b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..1659eeb Binary files /dev/null and b/Complex.Domain/bin/Debug/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Domain/bin/Release/net6.0/Complex.Domain.deps.json b/Complex.Domain/bin/Release/net6.0/Complex.Domain.deps.json new file mode 100644 index 0000000..e12250d --- /dev/null +++ b/Complex.Domain/bin/Release/net6.0/Complex.Domain.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Domain/bin/Release/net6.0/Complex.Domain.dll b/Complex.Domain/bin/Release/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..816e027 Binary files /dev/null and b/Complex.Domain/bin/Release/net6.0/Complex.Domain.dll differ diff --git a/Complex.Domain/bin/Release/net6.0/Complex.Domain.pdb b/Complex.Domain/bin/Release/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..cf3d7e2 Binary files /dev/null and b/Complex.Domain/bin/Release/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Domain/obj/Complex.Domain.csproj.nuget.dgspec.json b/Complex.Domain/obj/Complex.Domain.csproj.nuget.dgspec.json new file mode 100644 index 0000000..907ec9c --- /dev/null +++ b/Complex.Domain/obj/Complex.Domain.csproj.nuget.dgspec.json @@ -0,0 +1,73 @@ +{ + "format": 1, + "restore": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": {} + }, + "projects": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "projectName": "Complex.Domain", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.props b/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.props new file mode 100644 index 0000000..f359f77 --- /dev/null +++ b/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.props @@ -0,0 +1,16 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Mohammad\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.12.2 + + + + + + \ No newline at end of file diff --git a/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.targets b/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/Complex.Domain/obj/Complex.Domain.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Complex.Domain/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Domain/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..ed92695 --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfo.cs b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfo.cs new file mode 100644 index 0000000..1e86ad7 --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+76f4cde59f94d1616f39953a840a5ca7ef9213e0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfoInputs.cache b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfoInputs.cache new file mode 100644 index 0000000..64609cc --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +e5edcc38b954143fc9e59410b3854f9bf82f0134c5a534de08df972cbb25636e diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..1cf17b7 --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Domain +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Domain\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 6.0 +build_property.EnableCodeStyleSeverity = diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GlobalUsings.g.cs b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.assets.cache b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.assets.cache new file mode 100644 index 0000000..22b0d13 Binary files /dev/null and b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.assets.cache differ diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.BuildWithSkipAnalyzers b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..babe9a1 --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +33565243eb6502220226a12b571d3d91ca03ef3016562e97785d01f76dcf18cc diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.FileListAbsolute.txt b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..cb5889b --- /dev/null +++ b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.csproj.FileListAbsolute.txt @@ -0,0 +1,23 @@ +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.deps.json +F:\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\refint\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\ref\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Debug\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\refint\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Debug\net6.0\ref\Complex.Domain.dll diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.dll b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..5e5e26d Binary files /dev/null and b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/Debug/net6.0/Complex.Domain.pdb b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..1659eeb Binary files /dev/null and b/Complex.Domain/obj/Debug/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Domain/obj/Debug/net6.0/ref/Complex.Domain.dll b/Complex.Domain/obj/Debug/net6.0/ref/Complex.Domain.dll new file mode 100644 index 0000000..ec02e62 Binary files /dev/null and b/Complex.Domain/obj/Debug/net6.0/ref/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/Debug/net6.0/refint/Complex.Domain.dll b/Complex.Domain/obj/Debug/net6.0/refint/Complex.Domain.dll new file mode 100644 index 0000000..ec02e62 Binary files /dev/null and b/Complex.Domain/obj/Debug/net6.0/refint/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Domain/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..36203c7 --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfo.cs b/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfo.cs new file mode 100644 index 0000000..fb71169 --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Domain")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfoInputs.cache b/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfoInputs.cache new file mode 100644 index 0000000..161b0be --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +586388c552e98beb764e13d3fceb3348f631d669 diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Domain/obj/Release/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..3103a30 --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,10 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Domain +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Domain\ diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.GlobalUsings.g.cs b/Complex.Domain/obj/Release/net6.0/Complex.Domain.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.assets.cache b/Complex.Domain/obj/Release/net6.0/Complex.Domain.assets.cache new file mode 100644 index 0000000..fbabfb2 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/Complex.Domain.assets.cache differ diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.AssemblyReference.cache b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.AssemblyReference.cache new file mode 100644 index 0000000..2e85762 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.AssemblyReference.cache differ diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..5c625d4 --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +0de788fab3085fd5cea4eb06c01160e2e352db2d diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.FileListAbsolute.txt b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..61094f9 --- /dev/null +++ b/Complex.Domain/obj/Release/net6.0/Complex.Domain.csproj.FileListAbsolute.txt @@ -0,0 +1,24 @@ +F:\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.deps.json +F:\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\refint\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\ref\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\bin\Release\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.csproj.AssemblyReference.cache +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\refint\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Domain\obj\Release\net6.0\ref\Complex.Domain.dll diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.dll b/Complex.Domain/obj/Release/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..816e027 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/Release/net6.0/Complex.Domain.pdb b/Complex.Domain/obj/Release/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..cf3d7e2 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Domain/obj/Release/net6.0/ref/Complex.Domain.dll b/Complex.Domain/obj/Release/net6.0/ref/Complex.Domain.dll new file mode 100644 index 0000000..12ec416 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/ref/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/Release/net6.0/refint/Complex.Domain.dll b/Complex.Domain/obj/Release/net6.0/refint/Complex.Domain.dll new file mode 100644 index 0000000..12ec416 Binary files /dev/null and b/Complex.Domain/obj/Release/net6.0/refint/Complex.Domain.dll differ diff --git a/Complex.Domain/obj/project.assets.json b/Complex.Domain/obj/project.assets.json new file mode 100644 index 0000000..9854542 --- /dev/null +++ b/Complex.Domain/obj/project.assets.json @@ -0,0 +1,79 @@ +{ + "version": 3, + "targets": { + "net6.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net6.0": [] + }, + "packageFolders": { + "C:\\Users\\Mohammad\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "projectName": "Complex.Domain", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Complex.Domain/obj/project.nuget.cache b/Complex.Domain/obj/project.nuget.cache new file mode 100644 index 0000000..df1dd07 --- /dev/null +++ b/Complex.Domain/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "v3kKolJskc4=", + "success": true, + "projectFilePath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/Complex.EndPoint/.config/dotnet-tools.json b/Complex.EndPoint/.config/dotnet-tools.json new file mode 100644 index 0000000..5060fd6 --- /dev/null +++ b/Complex.EndPoint/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "6.0.4", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/Complex.EndPoint/Complex.EndPoint.csproj b/Complex.EndPoint/Complex.EndPoint.csproj new file mode 100644 index 0000000..118e0e9 --- /dev/null +++ b/Complex.EndPoint/Complex.EndPoint.csproj @@ -0,0 +1,26 @@ + + + + net6.0 + enable + enable + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/Complex.EndPoint/Complex.EndPoint.csproj.user b/Complex.EndPoint/Complex.EndPoint.csproj.user new file mode 100644 index 0000000..a406ac9 --- /dev/null +++ b/Complex.EndPoint/Complex.EndPoint.csproj.user @@ -0,0 +1,8 @@ + + + + MvcControllerWithActionsScaffolder + root/Common/MVC/Controller + D:\Data\Projects\Nabak\Complex\Complex.EndPoint\Properties\PublishProfiles\FolderProfile.pubxml + + \ No newline at end of file diff --git a/Complex.EndPoint/Controllers/AccountController.cs b/Complex.EndPoint/Controllers/AccountController.cs new file mode 100644 index 0000000..c12bf60 --- /dev/null +++ b/Complex.EndPoint/Controllers/AccountController.cs @@ -0,0 +1,155 @@ +using Complex.Application.PersonService; +using Complex.Application.Services.Utility; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Complex.EndPoint.Utility; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.IdentityModel.Tokens; +using System.IdentityModel.Tokens.Jwt; +using System.Security.Claims; +using System.Text; + +namespace Complex.EndPoint.Controllers +{ + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]")] + //[Route("[controller]")] + [ApiController] + public class AccountController : Controller + { + private readonly IConfiguration _configuration; + private readonly ISiteAccountlService _SiteAccountlService; + private readonly IUserTokenService _userTokenService; + private readonly ISendUserMessage _sendUserMessage; + + public AccountController(IConfiguration configuration + , ISiteAccountlService siteAccountlService, IUserTokenService userTokenRepository, + ISendUserMessage sendUserMessage) + { + this._configuration = configuration; + this._SiteAccountlService = siteAccountlService; + this._userTokenService = userTokenRepository; + this._sendUserMessage = sendUserMessage; + } + + [HttpPost] + public IActionResult Post(string PhoneNumber, string SmsCode) + { + try + { + var loginResult = _SiteAccountlService.Login(PhoneNumber, SmsCode); + if (loginResult.IsSuccess == false) + { + return Ok(new LoginResultDto() + { + IsSuccess = false, + Message = loginResult.Message + }); + } + var token = CreateToken(loginResult.Person); + + return Ok(new LoginResultDto() + { + IsSuccess = true, + Data = token, + }); + } + catch (Exception ex) + { + if (ex.InnerException != null) + ex = ex.InnerException; + return Ok(new LoginResultDto + { + IsSuccess = false, + Message = ex.Message + "----" + ex.StackTrace + }); + } + } + + + [HttpPost] + [Route("RefreshToken")] + public IActionResult RefreshToken(string Refreshtoken) + { + var usertoken = _userTokenService.FindRefreshToken(Refreshtoken); + if (usertoken == null) + { + return Unauthorized(); + } + if (usertoken.RefreshTokenExp < DateTime.Now) + { + return Unauthorized("Token Expire"); + } + + var token = CreateToken(usertoken.Person); + _userTokenService.DeleteToken(Refreshtoken); + + return Ok(token); + } + + + [Route("GetSmsCode")] + [HttpGet] + public ResultDto GetSmsCode(string PhoneNumber) + { + var smsCode = _SiteAccountlService.GetCode(PhoneNumber); + //_sendUserMessage.SendPattern("z3rx7fywigv5tdb", PhoneNumber, new { code = smsCode }); + //return new ResultDto { IsSuccess = true, Message = "پیامک ارسال شد" }; + return new ResultDto { IsSuccess = true, Message = smsCode }; + } + + [Authorize] + [HttpGet] + [Route("Logout")] + public IActionResult Logout() + { + var user = User.Claims.First(p => p.Type == "UserId").Value; + _SiteAccountlService.Logout(user); + return Ok(); + } + + private LoginDataDto CreateToken(Person user) + { + //SecurityHelper securityHelper = new SecurityHelper(); + var claims = new List + { + new Claim ("UserId", user.Id.SimpleCodeString()), + new Claim ("Name", user.FirstName.SimpleCodeString()), + new Claim ("Family", user.LastName.SimpleCodeString()), + }; + string key = _configuration["JWtConfig:Key"]; + var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key)); + var credentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256); + var tokenexp = DateTime.Now.AddDays(30);//.AddMinutes(int.Parse(_configuration["JWtConfig:expires"])); + var token = new JwtSecurityToken( + issuer: _configuration["JWtConfig:issuer"], + audience: _configuration["JWtConfig:audience"], + expires: tokenexp, + notBefore: DateTime.Now, + claims: claims, + signingCredentials: credentials + ); + var jwtToken = new JwtSecurityTokenHandler().WriteToken(token); + + var refreshToken = Guid.NewGuid(); + + _userTokenService.SaveToken(new UserToken() + { + MobileModel = "", + TokenExp = tokenexp, + TokenHash = jwtToken, //securityHelper.Getsha256Hash(jwtToken), + Person = user, + RefreshToken = refreshToken.ToString(),//securityHelper.Getsha256Hash(refreshToken.ToString()), + RefreshTokenExp = DateTime.Now.AddDays(60) + }); + + return new LoginDataDto() + { + Token = jwtToken, + RefreshToken = refreshToken.ToString() + }; + } + } +} diff --git a/Complex.EndPoint/Controllers/AppCommonController.cs b/Complex.EndPoint/Controllers/AppCommonController.cs new file mode 100644 index 0000000..12e9847 --- /dev/null +++ b/Complex.EndPoint/Controllers/AppCommonController.cs @@ -0,0 +1,36 @@ +using Complex.Application.AppCommon; +using Complex.Application.Complex; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using System.Security.Claims; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class AppCommonController : Controller + { + private readonly IAppCommonService _appCommonService; + + public AppCommonController(IAppCommonService appCommonService) + { + _appCommonService = appCommonService; + } + [HttpGet] + public ResultDto GetPoster() + { + return _appCommonService.GetPoster(); + } + //[Authorize] + //[HttpGet] + //public string test() + //{ + // return "[" + User.Claims.First(c=>c.Type=="MobilePhone").Value + "]"; + //} + } +} diff --git a/Complex.EndPoint/Controllers/BasicController.cs b/Complex.EndPoint/Controllers/BasicController.cs new file mode 100644 index 0000000..81db7e6 --- /dev/null +++ b/Complex.EndPoint/Controllers/BasicController.cs @@ -0,0 +1,38 @@ +using Complex.Application.Basic; +using Complex.Common.Dto; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class BasicController : Controller + { + private readonly IBasicService _basicService; + + public BasicController(IBasicService basicService) + { + _basicService = basicService; + } + [HttpPost] + [ProducesResponseType(typeof(ResultDto>), StatusCodes.Status200OK)] + public ResultDto> UnitStateList(Guid ComplexId) + { + return _basicService.UnitStateList(ComplexId); + } + [HttpPost] + public ResultDto InsertUnitState(UnitStateDto unitState) + { + return _basicService.InsertUnitState(unitState); + } + [HttpPost] + public ResultDto EditUnitState(UnitStateDto unitState) + { + return _basicService.EditUnitState(unitState); + } + } +} diff --git a/Complex.EndPoint/Controllers/ComplexController.cs b/Complex.EndPoint/Controllers/ComplexController.cs new file mode 100644 index 0000000..00045c5 --- /dev/null +++ b/Complex.EndPoint/Controllers/ComplexController.cs @@ -0,0 +1,54 @@ +using AutoMapper; +using Complex.Application.Complex; +using Complex.Application.Utility; +using Complex.Common.Dto; +using Complex.EndPoint.Utility; +using Complex.EndPoint.ViewModel; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class ComplexController : Controller + { + private readonly IComplexService _complexService; + private IMapper _mapper; + + public ComplexController(IComplexService complexService, IMapper mapper) + { + _complexService = complexService; + _mapper = mapper; + } + + //[HttpPost] + //public ResultDto InsertComplex(ComplexViewModel complexVm) + //{ + // return _complexService.InsertComplex(_mapper.Map(complexVm)); + //} + + [HttpPost] + public ResultDto EditComplex(ComplexViewModel complexVm) + { + return _complexService.EditComplex(User.GetUserId(),_mapper.Map(complexVm)); + } + + [HttpGet] + public ResultDto ComplexProperties(Guid Id) + { + var complexdto = _complexService.ComplexProperties(Id); + return complexdto; + } + [HttpGet] + public ResultDto> ComplexList() + { + var MobileNumber = User.GetUserId(); + return _complexService.ComplexList(MobileNumber); + } + + } +} diff --git a/Complex.EndPoint/Controllers/ManageCostController.cs b/Complex.EndPoint/Controllers/ManageCostController.cs new file mode 100644 index 0000000..2c148b6 --- /dev/null +++ b/Complex.EndPoint/Controllers/ManageCostController.cs @@ -0,0 +1,80 @@ +using Complex.Application.Services.Basic; +//using Complex.Application.Services.Transaction; +using Complex.Common.Dto; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + /// + /// مدیریت شارژ + /// + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class ManageCostController : Controller + { + private ILogger _logger; + private CostService _costCycleService; + public ManageCostController(CostService costCycleService, ILogger logger) + { + _costCycleService = costCycleService; + _logger = logger; + } + [HttpPost] + public ResultDto InsertCostCycle(CostCycleDto costCycleDto) + { + return _costCycleService.InsertCostCycle(costCycleDto); + } + [HttpPost] + public ResultDto EditCostCycle(CostCycleDto costCycleDto) + { + return _costCycleService.EditCostCycle(costCycleDto); + } + /// + /// لیست مدیریت شارژ یا هر گونه مخارج گرفته می شود + /// + /// + /// + /// + /// + [HttpPost] + public ResultDto> CostCyclsList([FromForm] Guid ComplexId, [FromForm] DateTime? StartDate = null, [FromForm] DateTime? EndDate = null) + { + return _costCycleService.CostCyclsList(ComplexId, + !StartDate.HasValue ? null : DateOnly.FromDateTime(StartDate.Value), + !EndDate.HasValue ? null : DateOnly.FromDateTime(EndDate.Value)); + } + /// + /// بدهی یک واحد + /// + /// + /// + /// + [HttpPost] + public ResultDto CalculateCostForUnit(Guid unitId, int? incomeCostTitleId) + { + return _costCycleService.CalculateCostForUnit(unitId, incomeCostTitleId); + } + /// + /// لیست بدهی های یک واحد + /// + [HttpPost] + public ResultDto> CalculateAllCostForUnit(List unitIds) + { + return _costCycleService.CalculateAllCostForUnits(unitIds); + } + /// + /// تاریخچه پرداختی ها و باقیمانده از آن + /// + [HttpPost] + public ResultDto> CostsForUnit(List unitIds, int? incomeCostTitleId, + DateTime startDate, DateTime endDate) + { + return _costCycleService.CostsForUnits(unitIds, incomeCostTitleId, + DateOnly.FromDateTime(startDate), DateOnly.FromDateTime(endDate)); + } + } +} diff --git a/Complex.EndPoint/Controllers/PersonController.cs b/Complex.EndPoint/Controllers/PersonController.cs new file mode 100644 index 0000000..f0f0d61 --- /dev/null +++ b/Complex.EndPoint/Controllers/PersonController.cs @@ -0,0 +1,41 @@ +using Complex.Application.AppCommon; +using Complex.Application.Complex; +using Complex.Application.PersonService; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class PersonController : Controller + { + private readonly IPersonService _personService; + + public PersonController(IPersonService personService) + { + _personService = personService; + } + [HttpPost] + public ResultDto InsertPerson(PersonDto person) + { + return _personService.InsertPerson(person); + } + [HttpPost] + public ResultDto EditPerson(PersonDto person) + { + return _personService.EditPerson(person); + } + [HttpPost] + public ResultDto> GetAllPersons(PersonDto personSearchObj) + { + var persons = _personService.GetAllPersons(personSearchObj); + return persons; + } + } +} diff --git a/Complex.EndPoint/Controllers/UnitController.cs b/Complex.EndPoint/Controllers/UnitController.cs new file mode 100644 index 0000000..d54e831 --- /dev/null +++ b/Complex.EndPoint/Controllers/UnitController.cs @@ -0,0 +1,88 @@ +using AutoMapper; +using Complex.Application.AppCommon; +using Complex.Application.Complex; +using Complex.Common.Dto; +using Complex.Domain.Entities; +using Complex.EndPoint.Utility; +using Complex.EndPoint.ViewModel; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + //[Route("[controller]/[action]")] + [Authorize] + public class UnitController : Controller + { + private readonly IUnitService _unitService; + private IMapper _mapper; + + public UnitController(IUnitService unitService, IMapper mapper) + { + _unitService = unitService; + _mapper = mapper; + } + + [HttpPost] + public ResultDto InsertUnit(UnitViewModel unit) + { + //var unitDto = new UnitDto + //{ + // AreaMeter = unit.AreaMeter, + // ComplexId = unit.ComplexId, + // EmergencyTels = unit.EmergencyTels, + // Floor = unit.Floor, + // IsActive = unit.IsActive == true, + // LastPaymentDate = unit.LastPaymentDate, + // ManagerDescription = unit.ManagerDescription, + // ParkingAreaMeter = unit.ParkingAreaMeter, + // RemainingAmount = unit.RemainingAmount, + // OwnerId = unit.OwnerId, + // StateId = unit.StateId, + // YardMeter = unit.YardMeter, + // UnitId = unit.UnitId, + // TenantId = unit.TenantId, + //}; + var unitDto = _mapper.Map(unit); + return _unitService.InsertUnit(User.GetUserId(),unitDto); + } + /// + /// ویرایش توسط مدیر ساختمان + /// + /// + /// + [HttpPost] + public ResultDto AdminEditUnit(UnitDto unitDto) + { + return _unitService.AdminEditUnit(User.GetUserId(), unitDto); + } + /// + /// ویرایش توسط مالک + /// + /// + /// + [HttpPost] + public ResultDto OwnerEditUnit(UnitDto unitDto) + { + return _unitService.OwnerEditUnit(User.GetUserId(), unitDto); + } + /// + /// ویرایش توسط مستاجر + /// + /// + /// + [HttpPost] + public ResultDto TenantEditUnit(UnitDto unitDto) + { + return _unitService.TenantEditUnit(User.GetUserId(), unitDto); + } + [HttpPost] + public ResultDto> UnitList(UnitRequestList unitRequest) + { + return _unitService.UnitList(User.GetUserId(), unitRequest); + } + } +} diff --git a/Complex.EndPoint/Program.cs b/Complex.EndPoint/Program.cs new file mode 100644 index 0000000..e55b8ca --- /dev/null +++ b/Complex.EndPoint/Program.cs @@ -0,0 +1,206 @@ +using Complex.Application; +using Complex.Application.AppCommon; +using Complex.Application.Basic; +using Complex.Application.Complex; +using Complex.Application.PersonService; +using Complex.Application.Services.Basic; +using Complex.Application.Services.Utility; +using Complex.Infrastructure; +using Complex.Mapping; +using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Options; +using Microsoft.IdentityModel.Tokens; +using Microsoft.OpenApi.Models; +using Pomelo.EntityFrameworkCore.MySql.Infrastructure; +using Swashbuckle.AspNetCore.SwaggerGen; +using System.Reflection; +using System.Text; +using WebApi.Bugeto.Models.Services.Validator; + +var builder = WebApplication.CreateBuilder(args); +builder.Logging.ClearProviders(); +builder.Logging.AddConsole(); +// Add services to the container. + +builder.Services.AddControllers().AddNewtonsoftJson(a => a.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); + +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); + +//eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIqQCFJVE15QXpNX19fSVRPeGtETSIsIk5hbWUiOiIqQCE4S18xXzFfRm1kcllYWV8xXzFfIiwiRmFtaWx5IjoiKkAhKkAhQWpiWFlfMV8xX011ZHJZSExfMV8xXyIsIm5iZiI6MTcwNjg4ODQyOCwiZXhwIjoxNzA5NDgwNDI4LCJpc3MiOiJuYWJha3NvZnQuaXIiLCJhdWQiOiJDb21wbGV4In0.Hz7fF-bRW3KouPOGgc0p5UVCMQmKkroKzGLdmZeXZeg + +builder.Services.AddAuthentication(options => +{ + //options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + //options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + //options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; + + options.DefaultSignInScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; +}) + // Adding Jwt Bearer + .AddJwtBearer(options => + { + options.SaveToken = true; + options.RequireHttpsMetadata = false; + options.TokenValidationParameters = new TokenValidationParameters() + { + ValidateIssuer = true, + ValidateAudience = true, + ValidAudience = builder.Configuration["JWTConfig:audience"], + ValidIssuer = builder.Configuration["JWTConfig:issuer"], + IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["JWTConfig:Key"])) + }; + options.Events = new JwtBearerEvents + { + OnAuthenticationFailed = context => + { + //log + //........ + return Task.CompletedTask; + }, + OnTokenValidated = context => + { + //log + var tokenValidatorService = context.HttpContext.RequestServices.GetRequiredService(); + return tokenValidatorService.Execute(context); + }, + OnChallenge = context => + { + return Task.CompletedTask; + }, + OnMessageReceived = context => + { + return Task.CompletedTask; + }, + OnForbidden = context => + { + return Task.CompletedTask; + } + }; + }); + + + +builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); +builder.Services.AddAutoMapper(typeof(MappingProfile), typeof(EndPointMappingProfile)); + +var contectionString = builder.Configuration.GetConnectionString("ComplexConnection"); +builder.Services.AddEntityFrameworkSqlServer().AddDbContext( + option => option.UseSqlServer(contectionString), ServiceLifetime.Transient); + +/*var mariaContectionString = builder.Configuration.GetConnectionString("MariaDbConnectionString"); + +builder.Services.AddDbContext( + dbContextOptions => dbContextOptions + .UseMySql(mariaContectionString, new MySqlServerVersion(new Version(10, 6, 8))) + // The following three options help with debugging, but should + // be changed or removed for production. + .LogTo(Console.WriteLine, LogLevel.Information) + .EnableSensitiveDataLogging() + .EnableDetailedErrors() + ); + +*/ +builder.Services.AddApiVersioning(Options => +{ + Options.AssumeDefaultVersionWhenUnspecified = true; + Options.DefaultApiVersion = new ApiVersion(1, 0); + Options.ReportApiVersions = true; +}); + +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new OpenApiInfo + { + Title = "Complex", + Version = "v1" + }); + c.SwaggerDoc("v2", new OpenApiInfo + { + Title = "Complex", + Version = "v2" + }); + c.DocInclusionPredicate((doc, apiDescription) => + { + if (!apiDescription.TryGetMethodInfo(out MethodInfo methodInfo)) return false; + + var version = methodInfo.DeclaringType + .GetCustomAttributes(true) + .SelectMany(attr => attr.Versions); + + return version.Any(v => $"v{v.ToString()}" == doc); + }); + c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme() + { + Name = "Authorization", + Type = SecuritySchemeType.ApiKey, + Scheme = "Bearer", + BearerFormat = "JWT", + In = ParameterLocation.Header, + Description = "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 1safsfsdfdfd\"", + }); + c.AddSecurityRequirement(new OpenApiSecurityRequirement { + { + new OpenApiSecurityScheme { + Reference = new OpenApiReference { + Type = ReferenceType.SecurityScheme, + Id = "Bearer" + } + }, + new string[] {} + } + }); +}); + + +var app = builder.Build(); +app.UseExceptionHandler(c => c.Run(async context => +{ + var exception = context.Features + .Get() + .Error; + var response = new + { + error = exception.Message + Environment.NewLine + exception.StackTrace + ( + exception.InnerException == null ? "" : Environment.NewLine + exception.InnerException.Message + + Environment.NewLine + exception.InnerException.StackTrace) + }; + await context.Response.WriteAsJsonAsync(response); +})); +app.UseDefaultFiles(); +app.UseStaticFiles(); + +app.MapFallbackToFile("index.html"); + +// Configure the HTTP request pipeline. +//if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApi.Bugeto v1")); + //app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthentication(); +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml b/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..53146e8 --- /dev/null +++ b/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,21 @@ + + + + + true + false + true + Release + Any CPU + FileSystem + bin\Release\net6.0\publish\ + FileSystem + + net6.0 + linux-x64 + 7136066a-2238-481b-a4ad-bce811506901 + false + + \ No newline at end of file diff --git a/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml.user b/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..2b89394 --- /dev/null +++ b/Complex.EndPoint/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,11 @@ + + + + + <_PublishTargetUrl>D:\Data\Projects\Nabak\Complex\Complex.EndPoint\bin\Release\net6.0\publish\ + True|2023-09-20T16:15:45.9937715Z;True|2023-09-20T19:41:47.4850600+03:30;True|2023-09-20T19:40:34.6579102+03:30;True|2023-09-19T20:36:41.5373954+03:30;True|2023-01-25T00:08:10.9557220+03:30;True|2023-01-25T00:03:57.9526929+03:30;True|2023-01-24T23:59:55.5964729+03:30;True|2023-01-24T23:04:28.5351552+03:30;True|2022-11-04T16:25:48.8675346+03:30;True|2022-11-04T16:17:20.9666003+03:30;True|2022-11-04T16:05:39.6051183+03:30;True|2022-11-04T16:02:22.5784369+03:30;True|2022-11-04T15:47:23.8585026+03:30;True|2022-11-04T15:27:03.6026167+03:30;True|2022-11-04T14:59:23.4675049+03:30;True|2022-11-02T22:13:58.1038078+03:30;True|2022-11-02T21:58:34.1429000+03:30;True|2022-11-02T21:38:03.9121470+03:30;True|2022-11-02T20:51:14.9926104+03:30;True|2022-11-02T19:22:17.5752389+03:30;True|2022-11-02T19:17:43.4103100+03:30;True|2022-11-02T19:06:22.9989064+03:30;True|2022-11-02T00:36:40.1814219+03:30;True|2022-11-02T00:30:27.0767317+03:30;True|2022-11-02T00:20:02.1242269+03:30;False|2022-11-02T00:19:10.9032560+03:30;True|2022-11-02T00:10:45.5869582+03:30;True|2022-11-02T00:07:48.3052800+03:30;True|2022-11-01T23:24:03.2457152+03:30;True|2022-11-01T23:19:47.1862600+03:30;True|2022-11-01T22:51:37.6640164+03:30;True|2022-11-01T19:15:35.4392600+03:30;True|2022-05-10T23:40:36.2913512+04:30;True|2022-05-04T14:13:50.9839640+04:30;True|2022-05-04T14:03:38.7497071+04:30;True|2022-05-04T12:55:45.8394150+04:30;True|2022-05-04T12:16:15.8928743+04:30;True|2022-04-27T23:45:53.4549273+04:30;True|2022-04-27T23:36:39.0198942+04:30; + + + \ No newline at end of file diff --git a/Complex.EndPoint/Properties/launchSettings.json b/Complex.EndPoint/Properties/launchSettings.json new file mode 100644 index 0000000..60cfb80 --- /dev/null +++ b/Complex.EndPoint/Properties/launchSettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:56787", + "sslPort": 44385 + } + }, + "profiles": { + "Complex.EndPoint": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7259;http://localhost:5259", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Complex.EndPoint/Utility/ActionAttributes.cs b/Complex.EndPoint/Utility/ActionAttributes.cs new file mode 100644 index 0000000..ca0bf17 --- /dev/null +++ b/Complex.EndPoint/Utility/ActionAttributes.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc.Filters; + +namespace Complex.EndPoint.Utility +{ + [AttributeUsage(AttributeTargets.Method)] + public class CheckAccess: ActionFilterAttribute + { + public string AccessTitle { set; get; } = ""; + public bool AvailabilityByAccess { set; get; } = true; + public bool Disabled { set; get; } = false; + } +} diff --git a/Complex.EndPoint/Utility/BaseController.cs b/Complex.EndPoint/Utility/BaseController.cs new file mode 100644 index 0000000..8d2353c --- /dev/null +++ b/Complex.EndPoint/Utility/BaseController.cs @@ -0,0 +1,126 @@ +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.AspNetCore.Mvc.Filters; + +//namespace Complex.EndPoint.Utility +//{ +// public class BaseController : Controller +// { +// public IPortalService _portalService; +// private ILogger? Logger; +// public BaseController(IPortalService portalService, ILogger? logger = null) +// { +// _portalService = portalService; +// if (logger != null) +// Logger = logger; +// } +// public long PersonId; + + +// private PersonInfo _PersonInfo { set; get; } +// public PersonInfo PersonInfo +// { +// get { return _PersonInfo; } +// } +// private bool? _IsAccessAction = null; +// public bool? IsAccessAction +// { +// get +// { +// return _IsAccessAction; +// } +// } +// //public string temp; +// public override void OnActionExecuting(ActionExecutingContext context) +// { +// //FileIO.Writeln("controller.txt","1"); +// try +// { +// var attributes = context.ActionDescriptor.EndpointMetadata.OfType(); +// string actionFullName = context.ActionDescriptor.DisplayName.Replace("Controller", ""); +// string ActionNameExecuting = string.Join(".", actionFullName.Substring(0, actionFullName.IndexOf('(')).Split('.').Reverse().Take(2).Reverse()).Trim(); +// //FileIO.Writeln("controller.txt", actionFullName); + +// if (attributes.Count() > 0 && attributes.First().Disabled) +// { +// base.OnActionExecuting(context); +// return; +// } + +// if (ActionNameExecuting == "Portal.Login")// || ActionNameExecuting == "PortalController.ViewPersonInfo") +// return; + +// var cookie = context.HttpContext.Request.Cookies.TryGetValue("PortalTC", out string key); +// /**/ +// //key = "110110110-110110110-0987654321qwerttyggffds".SimpleCodeString(); +// /**/ + +// if (!string.IsNullOrEmpty(key)) +// key = key.SimpleDeCodeString(); +// else +// { +// // FileIO.Write("ali.txt", "Key:isEmpty"); +// context.HttpContext.Response.StatusCode = 401; +// context.Result = Json(new ResultDto +// { +// IsSuccess = false, +// Message = ActionNameExecuting //"دسترسی غیر مجاز" +// }); +// return; +// } +// //FileIO.Write("ali.txt", "Key:" + key); +// { +// _PersonInfo = _portalService.Login(key); +// if (_PersonInfo != null) +// PersonId = _PersonInfo.PersonId; +// else +// { +// context.HttpContext.Response.StatusCode = 401; +// context.Result = Json(new ResultDto +// { +// IsSuccess = false, +// Message = "ورود ناموفق" //"دسترسی غیر مجاز" +// }); + +// } +// } +// if (attributes.Count() > 0) +// { +// var at = attributes.First(); +// if (at.AccessTitle.IsNullOrEmpty()) +// at.AccessTitle = ActionNameExecuting; +// _IsAccessAction = _portalService.IsAccess(PersonId, at.AccessTitle); +// if (at.AvailabilityByAccess && _IsAccessAction == false) +// { +// context.HttpContext.Response.StatusCode = 403; +// context.Result = Json(new ResultDto +// { +// IsSuccess = false, +// Message = "[" + ActionNameExecuting + "]دسترسی غیر مجاز" +// });//NoContent(); +// } +// //temp = PersonId + ":" + ActionNameExecuting + ":" + _IsAccessAction; +// } +// //FileIO.Writeln("controller.txt","3"); +// base.OnActionExecuting(context); +// //FileIO.Writeln("controller.txt","4"); +// } +// catch (Exception ex) +// { +// context.HttpContext.Response.StatusCode = 504; +// context.Result = Json(new ResultDto +// { +// IsSuccess = false, +// Message = ex.Message +// }); +// } +// } +// internal List GetAccessCommand(List commands) +// { +// var acCommands = _portalService.GetAccessOfList(4, commands.Where(c => c.AccessTitle.IsNotNullOrEmpty()) +// .Select(c => c.AccessTitle).ToList()); + + +// return commands.Where(c => acCommands.Contains(c.AccessTitle) || c.AccessTitle.IsNullOrEmpty()).ToList(); +// } +// } +//} \ No newline at end of file diff --git a/Complex.EndPoint/Utility/Extensions.cs b/Complex.EndPoint/Utility/Extensions.cs new file mode 100644 index 0000000..4a1f3a3 --- /dev/null +++ b/Complex.EndPoint/Utility/Extensions.cs @@ -0,0 +1,12 @@ +using System.Security.Claims; + +namespace Complex.EndPoint.Utility +{ + public static class Extensions + { + public static string GetUserId(this ClaimsPrincipal User) + { + return User.Claims.First(c => c.Type == "MobilePhone").Value; + } + } +} diff --git a/Complex.EndPoint/Utility/GridUtitlity.cs b/Complex.EndPoint/Utility/GridUtitlity.cs new file mode 100644 index 0000000..a6c0411 --- /dev/null +++ b/Complex.EndPoint/Utility/GridUtitlity.cs @@ -0,0 +1,37 @@ +using System.Dynamic; + +namespace Complex.EndPoint.Utility +{ + public class GridDataRequest + { + public int start { set; get; } + public int length { set; get; } + public string extra_search { set; get; } + + public int Page + { + get + { + return start / length; + } + } + public dynamic SeacrchColumns + { + get + { + dynamic myobject = new ExpandoObject(); + + IDictionary dic = myobject; + + var searchCols = this.extra_search.Substring(1, this.extra_search.Length - 2).Replace("\u0022", "").Split(','); + foreach (var item in searchCols) + { + var t = item.Split(':'); + dic.Add(t[0], t[1]); + } + return dic; + } + } + } + +} diff --git a/Complex.EndPoint/Utility/MappingProfile.cs b/Complex.EndPoint/Utility/MappingProfile.cs new file mode 100644 index 0000000..9b982e7 --- /dev/null +++ b/Complex.EndPoint/Utility/MappingProfile.cs @@ -0,0 +1,19 @@ +using AutoMapper; +using Complex.Application.Basic; +using Complex.Application.Complex; +using Complex.Domain.Entities; +using Complex.EndPoint.ViewModel; + +namespace Complex.Mapping; + +public partial class EndPointMappingProfile : Profile +{ + public EndPointMappingProfile() + { + //CreateMap().ReverseMap(); + //CreateMap().ReverseMap(); + //CreateMap().ReverseMap(); + CreateMap().ReverseMap(); + CreateMap().ReverseMap(); + } +} \ No newline at end of file diff --git a/Complex.EndPoint/Utility/SwaggerOperationFilter.cs b/Complex.EndPoint/Utility/SwaggerOperationFilter.cs new file mode 100644 index 0000000..9a16ff2 --- /dev/null +++ b/Complex.EndPoint/Utility/SwaggerOperationFilter.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.OpenApi.Models; +using Swashbuckle.AspNetCore.SwaggerGen; + +public class SwaggerOperationFilter : IOperationFilter +{ + public void Apply(OpenApiOperation operation, OperationFilterContext context) + { + var authAttributes = context.MethodInfo.DeclaringType.GetCustomAttributes(true) + .Union(context.MethodInfo.GetCustomAttributes(true)) + .OfType(); + + if (authAttributes.Any()) + { + var securityRequirement = new OpenApiSecurityRequirement() + { + { + new OpenApiSecurityScheme + { + Reference = new OpenApiReference + { + Type = ReferenceType.SecurityScheme, + Id = "Bearer" + } + }, + Array.Empty() + } + }; + operation.Security = new List { securityRequirement }; + operation.Responses.Add("401", new OpenApiResponse { Description = "Unauthorized" }); + } + } +} \ No newline at end of file diff --git a/Complex.EndPoint/Utility/TokenValidator.cs b/Complex.EndPoint/Utility/TokenValidator.cs new file mode 100644 index 0000000..e44f2c0 --- /dev/null +++ b/Complex.EndPoint/Utility/TokenValidator.cs @@ -0,0 +1,65 @@ +using Complex.Application.PersonService; +using Complex.Application.Utility; +using Microsoft.AspNetCore.Authentication.JwtBearer; +using System; +using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; +using System.Linq; +using System.Security.Claims; +using System.Threading.Tasks; + +namespace WebApi.Bugeto.Models.Services.Validator +{ + public interface ITokenValidator + { + Task Execute(TokenValidatedContext context); + } + public class TokenValidate : ITokenValidator + { + private ISiteAccountlService _siteAccountlService; + private IUserTokenService _userTokenService; + public TokenValidate(ISiteAccountlService siteAccountlService, IUserTokenService userTokenService) + { + this._siteAccountlService = siteAccountlService; + this._userTokenService = userTokenService; + } + public async Task Execute(TokenValidatedContext context) + { + var claimsidentity = context.Principal.Identity as ClaimsIdentity; + if (claimsidentity?.Claims == null || !claimsidentity.Claims.Any()) + { + context.Fail("claims not found...."); + return; + } + + var userMobileNumber = claimsidentity.FindFirst("UserId").Value.SimpleDeCodeString(); + if (userMobileNumber=="")//!long.TryParse(userId, out long userGuid)) + { + context.Fail("claims not found...."); + return; + } + + var user = _siteAccountlService.GetUser(userMobileNumber); + + if (user.IsActive == false) + { + context.Fail("User not Active"); + return; + } + + if (!(context.SecurityToken is JwtSecurityToken Token) + || !_userTokenService.CheckExistToken(Token.RawData)) + { + context.Fail("توکن شناسایی نشد"); + return; + } + //context.HttpContext.User.AddIdentity(new System.Security.Claims.ClaimsIdentity(new List + //{ + // new Claim(ClaimTypes.MobilePhone, userMobileNumber), + //})); + var claimsIdentity = (ClaimsIdentity)context.Principal.Identity; + //add your custom claims here + claimsIdentity.AddClaim(new Claim("MobilePhone", userMobileNumber)); + } + } +} diff --git a/Complex.EndPoint/ViewModel/ComplexViewModel.cs b/Complex.EndPoint/ViewModel/ComplexViewModel.cs new file mode 100644 index 0000000..e37e938 --- /dev/null +++ b/Complex.EndPoint/ViewModel/ComplexViewModel.cs @@ -0,0 +1,32 @@ +namespace Complex.EndPoint.ViewModel +{ + public class ComplexViewModel + { + public int? Id { set; get; } + public string? Title { set; get; } + public string? Address { set; get; } + /// + /// وضعیت + /// + public int? StateId { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + /// + /// تعداد آسانسور + /// + public int? ElevatorCount { set; get; } + /// تعداد انباری + public int? WarehouseCount { set; get; } + public int? YearMake { set; get; } + public int? ParentId { set; get; } + public string? Description { set; get; } + public int? CityId { set; get; } + public int? CityTitle { set; get; } + } +} diff --git a/Complex.EndPoint/ViewModel/UnitViewModel.cs b/Complex.EndPoint/ViewModel/UnitViewModel.cs new file mode 100644 index 0000000..9861037 --- /dev/null +++ b/Complex.EndPoint/ViewModel/UnitViewModel.cs @@ -0,0 +1,46 @@ +namespace Complex.EndPoint.ViewModel +{ + public class UnitViewModel + { + public Guid? Id { set; get; } + public Guid ComplexId { set; get; } + public string UnitName { set; get; } + + /// + /// مالک + /// + public string? OwnerId { set; get; } + /// + /// ساکن + /// + /// + /// شماره مالک + /// + public string? TenantId { set; get; } + /// + /// مستاجر + /// + public bool? IsActive { set; get; } + /// + /// متراژ کل + /// + public int? AreaMeter { set; get; } + /// + /// بدهی از قبل + /// + public int? RemainingAmount { set; get; } + public string? LastPaymentDate { set; get; } + public string? EmergencyTels { set; get; } + public int? ParkingAreaMeter { set; get; } + /// + /// متراژ حیاط + /// + public int? YardMeter { set; get; } + public string? PublicState { set; get; } + public int? StateId { set; get; } + public int? Floor { set; get; } + //public string? UnitId { set; get; } + public string? ManagerDescription { set; get; } + } + +} diff --git a/Complex.EndPoint/WeatherForecast.cs b/Complex.EndPoint/WeatherForecast.cs new file mode 100644 index 0000000..be94651 --- /dev/null +++ b/Complex.EndPoint/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace Complex.EndPoint +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} \ No newline at end of file diff --git a/Complex.EndPoint/appsettings.Development.json b/Complex.EndPoint/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/Complex.EndPoint/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/Complex.EndPoint/appsettings.json b/Complex.EndPoint/appsettings.json new file mode 100644 index 0000000..8ae9346 --- /dev/null +++ b/Complex.EndPoint/appsettings.json @@ -0,0 +1,19 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "JWTConfig": { + "issuer": "nabaksoft.ir", + "audience": "Complex", + "Key": "{A3D3D34D-AAF0-4CBA-B19D-B13AC6BC0E74}" + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "ComplexConnection": "data source=.;initial catalog=ComplexDB;MultipleActiveResultSets=True;User ID=sa;Password=110qwER;", + "MariaDbConnectionString2": "server=may.iran.liara.ir;user id=root;password=MGDySRSrrBqfSwE4veX0uSNB;database=trusting_diffie;port=31101", + "MariaDbConnectionString": "server=localhost;port=3306;database=Complex;user=root;password=110" + } +} diff --git a/Complex.Infrastructure/Complex.Infrastructure.csproj b/Complex.Infrastructure/Complex.Infrastructure.csproj new file mode 100644 index 0000000..c829218 --- /dev/null +++ b/Complex.Infrastructure/Complex.Infrastructure.csproj @@ -0,0 +1,28 @@ + + + + net6.0 + enable + enable + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + diff --git a/Complex.Infrastructure/ComplexDBContext.cs b/Complex.Infrastructure/ComplexDBContext.cs new file mode 100644 index 0000000..f81fe59 --- /dev/null +++ b/Complex.Infrastructure/ComplexDBContext.cs @@ -0,0 +1,178 @@ +using Complex.Application; +using Complex.Domain.Commons; +using Complex.Domain.Entities; +using Complex.Infrastructure.Extensions; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.ChangeTracking; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Linq.Expressions; +using System.Reflection.Emit; +using System.Reflection.Metadata; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Infrastructure +{ + public partial class ComplexDBContext : DbContext, IComplexDBContext + { + public ComplexDBContext() + { + + } + public object? Find(Type entityType, object keyId) + { + return base.Find(entityType, keyId); + } + public override EntityEntry Add(object entity) + { + return base.Add(entity); + } + public ComplexDBContext(DbContextOptions options) + : base(options) + { + } + protected override void OnModelCreating(ModelBuilder builder) + { + foreach (var entityType in builder.Model.GetEntityTypes()) + { + if (entityType.ClrType.GetCustomAttributes(typeof(AuditableAttribute), true).Length > 0) + { + builder.Entity(entityType.Name).Property("InsertTime").HasDefaultValue(DateTime.Now); + builder.Entity(entityType.Name).Property("UpdateTime"); + builder.Entity(entityType.Name).Property("RemoveTime"); + builder.Entity(entityType.Name).Property("IsRemoved").HasDefaultValue(false); + } + } + builder.Entity().HasQueryFilter(b => EF.Property(b, "IsRemoved") == false); + builder.Entity().HasQueryFilter(b => EF.Property(b, "IsRemoved") == false); + builder.Entity().HasQueryFilter(b => EF.Property(b, "IsRemoved") == false); + builder.Entity().HasQueryFilter(b => EF.Property(b, "IsRemoved") == false); + //builder.ApplyGlobalFilters("IsRemoved", false); + // var allEntities = modelBuilder.Model.GetEntityTypes(); + //Expression> filterExpr = bm => (bm.GetProperty("IsRemoved").ToString() == "0"); + //foreach (var entity in builder.Model.GetEntityTypes()) + //{ + // //if (!entity.ClrType.IsAssignableTo(typeof(BaseEntity))) + // // continue; + + // if (entity.ClrType.GetCustomAttributes(typeof(AuditableAttribute), true).Length > 0) + // entity + // //entity.SetQueryFilter(filterExpr); + //} + + } + + + public override int SaveChanges() + { + var modifiedEntries = ChangeTracker.Entries() + .Where(p => p.State == EntityState.Modified || + p.State == EntityState.Added || + p.State == EntityState.Deleted + ); + foreach (var item in modifiedEntries) + { + var entityType = item.Context.Model.FindEntityType(item.Entity.GetType()); + if (entityType != null) + { + if (entityType.ClrType.GetCustomAttributes(typeof(AuditableAttribute), true).Length == 0) + continue; + var inserted = entityType.FindProperty("InsertTime"); + var updated = entityType.FindProperty("UpdateTime"); + var RemoveTime = entityType.FindProperty("RemoveTime"); + var IsRemoved = entityType.FindProperty("IsRemoved"); + if (item.State == EntityState.Added && inserted != null) + { + item.Property("InsertTime").CurrentValue = DateTime.Now; + } + if (item.State == EntityState.Modified && updated != null) + { + item.Property("UpdateTime").CurrentValue = DateTime.Now; + } + + if (item.State == EntityState.Deleted && RemoveTime != null && IsRemoved != null) + { + item.Property("RemoveTime").CurrentValue = DateTime.Now; + item.Property("IsRemoved").CurrentValue = true; + item.State = EntityState.Modified; + } + } + + } + return base.SaveChanges(); + } + + //{ + // var entries = ChangeTracker + // .Entries() + // .Where(e => + // e.State == EntityState.Added + // || e.State == EntityState.Modified); + + // foreach (var entityEntry in entries) + // { + // entityEntry.Property("UpdateTime").CurrentValue = DateTime.Now; + + // if (entityEntry.State == EntityState.Added) + // { + // entityEntry.Property("InsertTime").CurrentValue = DateTime.Now; + // } + // } + // entries = ChangeTracker + // .Entries() + // .Where(e => + // e.State == EntityState.Deleted); + + // foreach (var entityEntry in entries) + // { + // entityEntry.State = EntityState.Modified; + // entityEntry.Property("RemoveTime").CurrentValue = DateTime.Now; + // entityEntry.Property("IsRemoved").CurrentValue = true; + // } + + // return base.SaveChanges(); + //} + public virtual DbSet UnitStates { get; set; } + public virtual DbSet Persons { get; set; } + public virtual DbSet ComplexPersons { get; set; } + public virtual DbSet BasicTables { get; set; } + public virtual DbSet Chats { get; set; } + public virtual DbSet ComplexEntities { get; set; } + public virtual DbSet ComplexManagers { get; set; } + public virtual DbSet ComplexUnitEvents { get; set; } + public virtual DbSet Posters { get; set; } + public virtual DbSet Transactions { get; set; } + public virtual DbSet IncomeCostTitles { get; set; } + public virtual DbSet TransactionTypes { get; set; } + public virtual DbSet Units { get; set; } + public virtual DbSet CostCycles { get; set; } + public virtual DbSet UnitCosts { get; set; } + public virtual DbSet UserTokens { get; set; } + public virtual DbSet SmsCodes { get; set; } + + protected override void ConfigureConventions(ModelConfigurationBuilder builder) + { + + builder.Properties() + .HaveConversion() + .HaveColumnType("date"); + + base.ConfigureConventions(builder); + + } + } + public class DateOnlyConverter : ValueConverter + { + public DateOnlyConverter() + : base(dateOnly => + dateOnly.ToDateTime(TimeOnly.MinValue), + dateTime => DateOnly.FromDateTime(dateTime)) + { } + } +} diff --git a/Complex.Infrastructure/Extensions/QueryFilter.cs b/Complex.Infrastructure/Extensions/QueryFilter.cs new file mode 100644 index 0000000..606287f --- /dev/null +++ b/Complex.Infrastructure/Extensions/QueryFilter.cs @@ -0,0 +1,31 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Infrastructure.Extensions +{ + public static class QueryFilter + { + public static void ApplyGlobalFilters(this ModelBuilder modelBuilder, +string propertyName, T value) + { + foreach (var entityType in modelBuilder.Model.GetEntityTypes()) + { + var foundProperty = entityType.FindProperty(propertyName); + + if (foundProperty != null && foundProperty.ClrType == typeof(T)) + { + var newParam = Expression.Parameter(entityType.ClrType); + var filter = Expression.Lambda(Expression.Equal(Expression.Property(newParam, propertyName), + Expression.Constant(value)), newParam); + + modelBuilder.Entity(entityType.ClrType); + } + } + } + } +} diff --git a/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.Designer.cs b/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.Designer.cs new file mode 100644 index 0000000..4018c6c --- /dev/null +++ b/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.Designer.cs @@ -0,0 +1,1011 @@ +// +using System; +using Complex.Infrastructure; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Complex.Infrastructure.Migrations +{ + [DbContext(typeof(ComplexDBContext))] + [Migration("20250601024740_add-complexPerson")] + partial class addcomplexPerson + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); + + modelBuilder.Entity("Complex.Domain.Entities.BasicTable", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Discriminator") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BasicTables"); + + b.HasDiscriminator("Discriminator").HasValue("BasicTable"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Chat", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Body") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ChatTypeId") + .HasColumnType("tinyint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("PersonMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Chats"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.City", b => + { + b.Property("CityId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CityId"), 1L, 1); + + b.Property("CityTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("ProvinceId") + .HasColumnType("int"); + + b.HasKey("CityId"); + + b.HasIndex("ProvinceId"); + + b.ToTable("City"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Address") + .HasColumnType("nvarchar(max)"); + + b.Property("AreaMeter") + .HasColumnType("int"); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ElevatorCount") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(207)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StateId") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("WarehouseCount") + .HasColumnType("int"); + + b.Property("YardMeter") + .HasColumnType("int"); + + b.Property("YearMake") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CityId"); + + b.HasIndex("ParentId"); + + b.ToTable("ComplexEntities"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexManager", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EndDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(2979)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ManagerMobileNumberId") + .HasColumnType("nvarchar(450)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("ManagerMobileNumberId"); + + b.ToTable("ComplexManagers"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexPerson", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("PersonMobileNumberId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("PersonMobileNumberId"); + + b.ToTable("ComplexPersons"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexUnitEvent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Body") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ComplexId") + .HasColumnType("int"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EventDate") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(4581)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RegisterMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("ComplexUnitEvents"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.CostCycle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Amount") + .HasColumnType("bigint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EncouragementAmount") + .HasColumnType("bigint"); + + b.Property("EncouragementDay") + .HasColumnType("int"); + + b.Property("EndDate") + .HasColumnType("date"); + + b.Property("IncomeCostTitleId") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(6075)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("date"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("IncomeCostTitleId"); + + b.ToTable("CostCycles"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.IncomeCostTitle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(8706)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RegisterMobileNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("TransactionTypeId") + .HasColumnType("int"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("TransactionTypeId"); + + b.ToTable("IncomeCostTitles"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Person", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("Avatar") + .HasColumnType("varbinary(max)"); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("Gender") + .HasColumnType("tinyint"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(1127)); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("Persons"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Poster", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ImagePath") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("RegisterMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Posters"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Province", b => + { + b.Property("ProvinceId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProvinceId"), 1L, 1); + + b.Property("ProvinceTitle") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ProvinceId"); + + b.ToTable("Province"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.SmsCode", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Code") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertDate") + .HasColumnType("datetime2"); + + b.Property("PhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RequestCount") + .HasColumnType("int"); + + b.Property("Used") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("SmsCodes"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Transaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Amount") + .HasColumnType("bigint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("CostCycleId") + .HasColumnType("uniqueidentifier"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FicheId") + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(3798)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("PersonId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("TransactionDate") + .HasColumnType("datetime2"); + + b.Property("TransactionPersianDate") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TransactionTitleId") + .HasColumnType("int"); + + b.Property("UnitCostId") + .HasColumnType("bigint"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("CostCycleId"); + + b.HasIndex("PersonId"); + + b.HasIndex("TransactionTitleId"); + + b.HasIndex("UnitCostId") + .IsUnique(); + + b.HasIndex("UnitId"); + + b.ToTable("Transactions"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Unit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaMeter") + .HasColumnType("int"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EmergencyTels") + .HasColumnType("nvarchar(max)"); + + b.Property("Floor") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(7020)); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ManagerDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("OwnerId") + .HasColumnType("nvarchar(450)"); + + b.Property("ParkingAreaMeter") + .HasColumnType("int"); + + b.Property("PublicState") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StateId") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("nvarchar(450)"); + + b.Property("UnitName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("YardMeter") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("OwnerId"); + + b.HasIndex("StateId"); + + b.HasIndex("TenantId"); + + b.ToTable("Units"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("CostCycleId") + .HasColumnType("uniqueidentifier"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(118)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("TransactionId") + .HasColumnType("int"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("CostCycleId"); + + b.HasIndex("UnitId"); + + b.ToTable("UnitCosts"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("Icon") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(2122)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("UnitStates"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UserToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("MobileModel") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PersonId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("RefreshToken") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RefreshTokenExp") + .HasColumnType("datetime2"); + + b.Property("TokenExp") + .HasColumnType("datetime2"); + + b.Property("TokenHash") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("PersonId"); + + b.ToTable("UserTokens"); + }); + + modelBuilder.Entity("CostCycleUnit", b => + { + b.Property("CostCyclesId") + .HasColumnType("uniqueidentifier"); + + b.Property("UnitsId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("CostCyclesId", "UnitsId"); + + b.HasIndex("UnitsId"); + + b.ToTable("CostCycleUnit"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.TransactionType", b => + { + b.HasBaseType("Complex.Domain.Entities.BasicTable"); + + b.HasDiscriminator().HasValue("TransactionType"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.City", b => + { + b.HasOne("Complex.Domain.Entities.Province", "Province") + .WithMany("Cities") + .HasForeignKey("ProvinceId"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.HasOne("Complex.Domain.Entities.City", "City") + .WithMany() + .HasForeignKey("CityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Parent") + .WithMany() + .HasForeignKey("ParentId"); + + b.Navigation("City"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexManager", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany("ComplexManagers") + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Person", "ManagerMobileNumber") + .WithMany() + .HasForeignKey("ManagerMobileNumberId"); + + b.Navigation("Complex"); + + b.Navigation("ManagerMobileNumber"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexPerson", b => + { + b.HasOne("Complex.Domain.Entities.Person", "PersonMobileNumber") + .WithMany() + .HasForeignKey("PersonMobileNumberId"); + + b.Navigation("PersonMobileNumber"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.CostCycle", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany() + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.IncomeCostTitle", "IncomeCostTitle") + .WithMany() + .HasForeignKey("IncomeCostTitleId"); + + b.Navigation("Complex"); + + b.Navigation("IncomeCostTitle"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.IncomeCostTitle", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany() + .HasForeignKey("ComplexId"); + + b.HasOne("Complex.Domain.Entities.TransactionType", "TransactionType") + .WithMany() + .HasForeignKey("TransactionTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Complex"); + + b.Navigation("TransactionType"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Transaction", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", "CostCycle") + .WithMany() + .HasForeignKey("CostCycleId"); + + b.HasOne("Complex.Domain.Entities.Person", "Person") + .WithMany() + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.IncomeCostTitle", "TransactionTitle") + .WithMany() + .HasForeignKey("TransactionTitleId"); + + b.HasOne("Complex.Domain.Entities.UnitCost", "UnitCost") + .WithOne("Transaction") + .HasForeignKey("Complex.Domain.Entities.Transaction", "UnitCostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", "Unit") + .WithMany() + .HasForeignKey("UnitId"); + + b.Navigation("CostCycle"); + + b.Navigation("Person"); + + b.Navigation("TransactionTitle"); + + b.Navigation("Unit"); + + b.Navigation("UnitCost"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Unit", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany("Units") + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Person", "Owner") + .WithMany() + .HasForeignKey("OwnerId"); + + b.HasOne("Complex.Domain.Entities.UnitState", "State") + .WithMany() + .HasForeignKey("StateId"); + + b.HasOne("Complex.Domain.Entities.Person", "Tenant") + .WithMany() + .HasForeignKey("TenantId"); + + b.Navigation("Complex"); + + b.Navigation("Owner"); + + b.Navigation("State"); + + b.Navigation("Tenant"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", "CostCycle") + .WithMany() + .HasForeignKey("CostCycleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", "Unit") + .WithMany() + .HasForeignKey("UnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CostCycle"); + + b.Navigation("Unit"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UserToken", b => + { + b.HasOne("Complex.Domain.Entities.Person", "Person") + .WithMany("UserTokens") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Person"); + }); + + modelBuilder.Entity("CostCycleUnit", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", null) + .WithMany() + .HasForeignKey("CostCyclesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", null) + .WithMany() + .HasForeignKey("UnitsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.Navigation("ComplexManagers"); + + b.Navigation("Units"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Person", b => + { + b.Navigation("UserTokens"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Province", b => + { + b.Navigation("Cities"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.Navigation("Transaction") + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.cs b/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.cs new file mode 100644 index 0000000..7bd76de --- /dev/null +++ b/Complex.Infrastructure/Migrations/20250601024740_add-complexPerson.cs @@ -0,0 +1,144 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Complex.Infrastructure.Migrations +{ + public partial class addcomplexPerson : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + + migrationBuilder.CreateTable( + name: "ComplexPersons", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ComplexId = table.Column(type: "uniqueidentifier", nullable: false), + PersonMobileNumberId = table.Column(type: "nvarchar(450)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_ComplexPersons", x => x.Id); + table.ForeignKey( + name: "FK_ComplexPersons_Persons_PersonMobileNumberId", + column: x => x.PersonMobileNumberId, + principalTable: "Persons", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_ComplexPersons_PersonMobileNumberId", + table: "ComplexPersons", + column: "PersonMobileNumberId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "ComplexPersons"); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "UnitStates", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 234, DateTimeKind.Local).AddTicks(8929), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(2122)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "Units", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 234, DateTimeKind.Local).AddTicks(3769), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(7020)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "UnitCosts", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 234, DateTimeKind.Local).AddTicks(6906), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(118)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "Transactions", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 234, DateTimeKind.Local).AddTicks(717), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(3798)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "Persons", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 233, DateTimeKind.Local).AddTicks(7990), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(1127)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "IncomeCostTitles", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 233, DateTimeKind.Local).AddTicks(5558), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(8706)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "CostCycles", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 233, DateTimeKind.Local).AddTicks(2909), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(6075)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "ComplexUnitEvents", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 233, DateTimeKind.Local).AddTicks(1398), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(4581)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "ComplexManagers", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 232, DateTimeKind.Local).AddTicks(9811), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(2979)); + + migrationBuilder.AlterColumn( + name: "InsertTime", + table: "ComplexEntities", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(2025, 6, 1, 6, 15, 25, 232, DateTimeKind.Local).AddTicks(6954), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldDefaultValue: new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(207)); + } + } +} diff --git a/Complex.Infrastructure/Migrations/ComplexDBContextModelSnapshot.cs b/Complex.Infrastructure/Migrations/ComplexDBContextModelSnapshot.cs new file mode 100644 index 0000000..379f38d --- /dev/null +++ b/Complex.Infrastructure/Migrations/ComplexDBContextModelSnapshot.cs @@ -0,0 +1,1009 @@ +// +using System; +using Complex.Infrastructure; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Complex.Infrastructure.Migrations +{ + [DbContext(typeof(ComplexDBContext))] + partial class ComplexDBContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); + + modelBuilder.Entity("Complex.Domain.Entities.BasicTable", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Discriminator") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BasicTables"); + + b.HasDiscriminator("Discriminator").HasValue("BasicTable"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Chat", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Body") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ChatTypeId") + .HasColumnType("tinyint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("PersonMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Chats"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.City", b => + { + b.Property("CityId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CityId"), 1L, 1); + + b.Property("CityTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("ProvinceId") + .HasColumnType("int"); + + b.HasKey("CityId"); + + b.HasIndex("ProvinceId"); + + b.ToTable("City"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Address") + .HasColumnType("nvarchar(max)"); + + b.Property("AreaMeter") + .HasColumnType("int"); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ElevatorCount") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(207)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StateId") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("WarehouseCount") + .HasColumnType("int"); + + b.Property("YardMeter") + .HasColumnType("int"); + + b.Property("YearMake") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CityId"); + + b.HasIndex("ParentId"); + + b.ToTable("ComplexEntities"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexManager", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EndDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(2979)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ManagerMobileNumberId") + .HasColumnType("nvarchar(450)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("ManagerMobileNumberId"); + + b.ToTable("ComplexManagers"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexPerson", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("PersonMobileNumberId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("PersonMobileNumberId"); + + b.ToTable("ComplexPersons"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexUnitEvent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Body") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ComplexId") + .HasColumnType("int"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EventDate") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(4581)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RegisterMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("ComplexUnitEvents"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.CostCycle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Amount") + .HasColumnType("bigint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EncouragementAmount") + .HasColumnType("bigint"); + + b.Property("EncouragementDay") + .HasColumnType("int"); + + b.Property("EndDate") + .HasColumnType("date"); + + b.Property("IncomeCostTitleId") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(6075)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("date"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("IncomeCostTitleId"); + + b.ToTable("CostCycles"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.IncomeCostTitle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 42, DateTimeKind.Local).AddTicks(8706)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RegisterMobileNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("TransactionTypeId") + .HasColumnType("int"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("TransactionTypeId"); + + b.ToTable("IncomeCostTitles"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Person", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("Avatar") + .HasColumnType("varbinary(max)"); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("Gender") + .HasColumnType("tinyint"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(1127)); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("Persons"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Poster", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ImagePath") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("RegisterMobileNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Posters"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Province", b => + { + b.Property("ProvinceId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ProvinceId"), 1L, 1); + + b.Property("ProvinceTitle") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ProvinceId"); + + b.ToTable("Province"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.SmsCode", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Code") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertDate") + .HasColumnType("datetime2"); + + b.Property("PhoneNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RequestCount") + .HasColumnType("int"); + + b.Property("Used") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("SmsCodes"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Transaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("Amount") + .HasColumnType("bigint"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("CostCycleId") + .HasColumnType("uniqueidentifier"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FicheId") + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(3798)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("PersonId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("TransactionDate") + .HasColumnType("datetime2"); + + b.Property("TransactionPersianDate") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TransactionTitleId") + .HasColumnType("int"); + + b.Property("UnitCostId") + .HasColumnType("bigint"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("CostCycleId"); + + b.HasIndex("PersonId"); + + b.HasIndex("TransactionTitleId"); + + b.HasIndex("UnitCostId") + .IsUnique(); + + b.HasIndex("UnitId"); + + b.ToTable("Transactions"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Unit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaMeter") + .HasColumnType("int"); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("EmergencyTels") + .HasColumnType("nvarchar(max)"); + + b.Property("Floor") + .HasColumnType("int"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 43, DateTimeKind.Local).AddTicks(7020)); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("ManagerDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("OwnerId") + .HasColumnType("nvarchar(450)"); + + b.Property("ParkingAreaMeter") + .HasColumnType("int"); + + b.Property("PublicState") + .HasColumnType("nvarchar(max)"); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("StateId") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("nvarchar(450)"); + + b.Property("UnitName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("YardMeter") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ComplexId"); + + b.HasIndex("OwnerId"); + + b.HasIndex("StateId"); + + b.HasIndex("TenantId"); + + b.ToTable("Units"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("CostCycleId") + .HasColumnType("uniqueidentifier"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(118)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("TransactionId") + .HasColumnType("int"); + + b.Property("UnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("CostCycleId"); + + b.HasIndex("UnitId"); + + b.ToTable("UnitCosts"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("ComplexId") + .HasColumnType("uniqueidentifier"); + + b.Property("Icon") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InsertTime") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2") + .HasDefaultValue(new DateTime(2025, 6, 1, 6, 17, 40, 44, DateTimeKind.Local).AddTicks(2122)); + + b.Property("IsRemoved") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("RemoveTime") + .HasColumnType("datetime2"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("UnitStates"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UserToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1); + + b.Property("MobileModel") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PersonId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("RefreshToken") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RefreshTokenExp") + .HasColumnType("datetime2"); + + b.Property("TokenExp") + .HasColumnType("datetime2"); + + b.Property("TokenHash") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("PersonId"); + + b.ToTable("UserTokens"); + }); + + modelBuilder.Entity("CostCycleUnit", b => + { + b.Property("CostCyclesId") + .HasColumnType("uniqueidentifier"); + + b.Property("UnitsId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("CostCyclesId", "UnitsId"); + + b.HasIndex("UnitsId"); + + b.ToTable("CostCycleUnit"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.TransactionType", b => + { + b.HasBaseType("Complex.Domain.Entities.BasicTable"); + + b.HasDiscriminator().HasValue("TransactionType"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.City", b => + { + b.HasOne("Complex.Domain.Entities.Province", "Province") + .WithMany("Cities") + .HasForeignKey("ProvinceId"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.HasOne("Complex.Domain.Entities.City", "City") + .WithMany() + .HasForeignKey("CityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Parent") + .WithMany() + .HasForeignKey("ParentId"); + + b.Navigation("City"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexManager", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany("ComplexManagers") + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Person", "ManagerMobileNumber") + .WithMany() + .HasForeignKey("ManagerMobileNumberId"); + + b.Navigation("Complex"); + + b.Navigation("ManagerMobileNumber"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexPerson", b => + { + b.HasOne("Complex.Domain.Entities.Person", "PersonMobileNumber") + .WithMany() + .HasForeignKey("PersonMobileNumberId"); + + b.Navigation("PersonMobileNumber"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.CostCycle", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany() + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.IncomeCostTitle", "IncomeCostTitle") + .WithMany() + .HasForeignKey("IncomeCostTitleId"); + + b.Navigation("Complex"); + + b.Navigation("IncomeCostTitle"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.IncomeCostTitle", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany() + .HasForeignKey("ComplexId"); + + b.HasOne("Complex.Domain.Entities.TransactionType", "TransactionType") + .WithMany() + .HasForeignKey("TransactionTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Complex"); + + b.Navigation("TransactionType"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Transaction", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", "CostCycle") + .WithMany() + .HasForeignKey("CostCycleId"); + + b.HasOne("Complex.Domain.Entities.Person", "Person") + .WithMany() + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.IncomeCostTitle", "TransactionTitle") + .WithMany() + .HasForeignKey("TransactionTitleId"); + + b.HasOne("Complex.Domain.Entities.UnitCost", "UnitCost") + .WithOne("Transaction") + .HasForeignKey("Complex.Domain.Entities.Transaction", "UnitCostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", "Unit") + .WithMany() + .HasForeignKey("UnitId"); + + b.Navigation("CostCycle"); + + b.Navigation("Person"); + + b.Navigation("TransactionTitle"); + + b.Navigation("Unit"); + + b.Navigation("UnitCost"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Unit", b => + { + b.HasOne("Complex.Domain.Entities.ComplexEntity", "Complex") + .WithMany("Units") + .HasForeignKey("ComplexId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Person", "Owner") + .WithMany() + .HasForeignKey("OwnerId"); + + b.HasOne("Complex.Domain.Entities.UnitState", "State") + .WithMany() + .HasForeignKey("StateId"); + + b.HasOne("Complex.Domain.Entities.Person", "Tenant") + .WithMany() + .HasForeignKey("TenantId"); + + b.Navigation("Complex"); + + b.Navigation("Owner"); + + b.Navigation("State"); + + b.Navigation("Tenant"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", "CostCycle") + .WithMany() + .HasForeignKey("CostCycleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", "Unit") + .WithMany() + .HasForeignKey("UnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CostCycle"); + + b.Navigation("Unit"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UserToken", b => + { + b.HasOne("Complex.Domain.Entities.Person", "Person") + .WithMany("UserTokens") + .HasForeignKey("PersonId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Person"); + }); + + modelBuilder.Entity("CostCycleUnit", b => + { + b.HasOne("Complex.Domain.Entities.CostCycle", null) + .WithMany() + .HasForeignKey("CostCyclesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Complex.Domain.Entities.Unit", null) + .WithMany() + .HasForeignKey("UnitsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Complex.Domain.Entities.ComplexEntity", b => + { + b.Navigation("ComplexManagers"); + + b.Navigation("Units"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Person", b => + { + b.Navigation("UserTokens"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.Province", b => + { + b.Navigation("Cities"); + }); + + modelBuilder.Entity("Complex.Domain.Entities.UnitCost", b => + { + b.Navigation("Transaction") + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Complex.Infrastructure/SmsService.cs b/Complex.Infrastructure/SmsService.cs new file mode 100644 index 0000000..094cbbf --- /dev/null +++ b/Complex.Infrastructure/SmsService.cs @@ -0,0 +1,73 @@ +using Complex.Application.Services.Utility; +using Flurl.Http; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Complex.Infrastructure +{ + public class SmsService : ISendUserMessage + { + private string token = "AccessKey jhVG8oE8XSE7YNAWjQcFO-cY7QBykZlSZ_Ymb98A8k8="; + private string url = "http://rest.ippanel.com"; + private string originator = "+98100020400"; + //private string originator = "+985000262810"; + + private FlurlClient _client = null; + public FlurlClient Client + { + get + { + if (_client == null) + { + _client = new FlurlClient(url).WithHeader("Authorization", token).AllowHttpStatus("4xx"); + _client.BaseUrl = url; + } + return _client; + } + } + + private async Task> BaseSend(string urlPath, object postData) where T : Data, new() + { + try + { + var response = await Client.Request(urlPath) + .PostJsonAsync(postData); + + return await response.GetJsonAsync>(); + } + catch (Exception ex) + { + var data = new T { error = ex.Message }; + return new Response { data = data }; + } + } + + public async Task> Send(object message, string[] to) + { + var postData = new + { + originator = originator, + recipients = to, + message = message + }; + + return await BaseSend("/v1/messages", postData); + } + + public async Task> SendPattern(string patternCode, string to, object values) + { + var postData = new + { + pattern_code = patternCode, + originator = originator, + recipient = to, + values = values + }; + + return await BaseSend("/v1/messages/patterns/send", postData); + } + } +} diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.dll b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.dll new file mode 100644 index 0000000..d32a20a Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.dll differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.pdb b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..f0edce8 Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Application.pdb differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.dll b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..5e5e26d Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.dll differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.pdb b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..1659eeb Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.deps.json b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.deps.json new file mode 100644 index 0000000..9865273 --- /dev/null +++ b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.deps.json @@ -0,0 +1,951 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Infrastructure/1.0.0": { + "dependencies": { + "Complex.Application": "1.0.0", + "Flurl.Http": "3.2.4", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.EntityFrameworkCore.Design": "6.0.3", + "Microsoft.EntityFrameworkCore.SqlServer": "6.0.3", + "Microsoft.EntityFrameworkCore.Tools": "6.0.3", + "Pomelo.EntityFrameworkCore.MySql": "6.0.0" + }, + "runtime": { + "Complex.Infrastructure.dll": {} + } + }, + "AutoMapper/11.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.1.0" + } + } + }, + "Flurl/3.0.6": { + "runtime": { + "lib/netstandard2.0/Flurl.dll": { + "assemblyVersion": "3.0.6.0", + "fileVersion": "3.0.6.0" + } + } + }, + "Flurl.Http/3.2.4": { + "dependencies": { + "Flurl": "3.0.6", + "Newtonsoft.Json": "13.0.1", + "System.Text.Encoding.CodePages": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/Flurl.Http.dll": { + "assemblyVersion": "3.2.4.0", + "fileVersion": "3.2.4.0" + } + } + }, + "Humanizer.Core/2.8.26": { + "runtime": { + "lib/netstandard2.0/Humanizer.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.26.1919" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.Data.SqlClient/2.1.4": { + "dependencies": { + "Microsoft.Data.SqlClient.SNI.runtime": "2.1.1", + "Microsoft.Identity.Client": "4.21.1", + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0", + "Microsoft.Win32.Registry": "4.7.0", + "System.Configuration.ConfigurationManager": "4.7.0", + "System.Diagnostics.DiagnosticSource": "6.0.0", + "System.Runtime.Caching": "4.7.0", + "System.Security.Principal.Windows": "4.7.0", + "System.Text.Encoding.CodePages": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + }, + "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + } + } + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "runtimeTargets": { + "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "2.1.1.0" + } + } + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": {}, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "dependencies": { + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "dependencies": { + "Microsoft.Data.SqlClient": "2.1.4", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "6.0.3" + } + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.222.6406" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Identity.Client/4.21.1": { + "runtime": { + "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.21.1.0", + "fileVersion": "4.21.1.0" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.8.0", + "System.IdentityModel.Tokens.Jwt": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.IdentityModel.Logging": "6.8.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.NETCore.Platforms/3.1.0": {}, + "Microsoft.Win32.Registry/4.7.0": { + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Security.Principal.Windows": "4.7.0" + } + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "MySqlConnector/2.0.0": { + "runtime": { + "lib/net6.0/MySqlConnector.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.3", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.0.0" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.7.0", + "System.Security.Permissions": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Drawing.Common/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "Microsoft.Win32.SystemEvents": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + }, + "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "System.Linq.Dynamic.Core/1.6.7": { + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "assemblyVersion": "1.6.7.0", + "fileVersion": "1.6.7.0" + } + } + }, + "System.Runtime.Caching/4.7.0": { + "dependencies": { + "System.Configuration.ConfigurationManager": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Runtime.Caching.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Security.AccessControl/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "System.Security.Principal.Windows": "4.7.0" + } + }, + "System.Security.Cryptography.Cng/4.5.0": {}, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Security.Permissions/4.7.0": { + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Windows.Extensions": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Security.Principal.Windows/4.7.0": {}, + "System.Text.Encoding.CodePages/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + } + }, + "System.Windows.Extensions/4.7.0": { + "dependencies": { + "System.Drawing.Common": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "Complex.Application/1.0.0": { + "dependencies": { + "AutoMapper": "11.0.1", + "Complex.Domain": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "System.Linq.Dynamic.Core": "1.6.7" + }, + "runtime": { + "Complex.Application.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Complex.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "AutoMapper/11.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "path": "automapper/11.0.1", + "hashPath": "automapper.11.0.1.nupkg.sha512" + }, + "Flurl/3.0.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XMIlB/tJ4nTYF2+79xDsnnlgbXHpKyizKX2fffrECekI6pEsa9MSLzf5tPVMdLy4k4AcJPLs356Sa2Le5VRDCw==", + "path": "flurl/3.0.6", + "hashPath": "flurl.3.0.6.nupkg.sha512" + }, + "Flurl.Http/3.2.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Me9Vm4Lm21vt/pbR0G2Dww/ZOjJgh6mB2FiH28aiUYStJD10ZecDp8jxg2zKxcy6lnkvLm99pjG4yC/k7a/d8w==", + "path": "flurl.http/3.2.4", + "hashPath": "flurl.http.3.2.4.nupkg.sha512" + }, + "Humanizer.Core/2.8.26": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", + "path": "humanizer.core/2.8.26", + "hashPath": "humanizer.core.2.8.26.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.Data.SqlClient/2.1.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==", + "path": "microsoft.data.sqlclient/2.1.4", + "hashPath": "microsoft.data.sqlclient.2.1.4.nupkg.sha512" + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JwGDWkyZgm7SATJmFLfT2G4teimvNbNtq3lsS9a5DzvhEZnQrZjZhevCU0vdx8MjheLHoG5vocuO03QtioFQxQ==", + "path": "microsoft.data.sqlclient.sni.runtime/2.1.1", + "hashPath": "microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "path": "microsoft.entityframeworkcore/6.0.3", + "hashPath": "microsoft.entityframeworkcore.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Gc3XhQ4vLK4rlGpZi8zaa4bl0t894QxqMXHSbDSsx8d7ghRaLbGIH1tQawpo2hriU/q918eepbCyoISD89Xx1w==", + "path": "microsoft.entityframeworkcore.design/6.0.3", + "hashPath": "microsoft.entityframeworkcore.design.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Dga4OH8QxmPT9APr7ZL5R0TvNADOcjDNNvJa8pU3QbPJ6OvRPTlzqAehfEBow0/NXBTKbIO48b4aIJI4VCO7fg==", + "path": "microsoft.entityframeworkcore.relational/6.0.3", + "hashPath": "microsoft.entityframeworkcore.relational.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rd1lGh5au10tB6J0Jt3ZLLA78Bs/eQSWgkMSBE9n+cRAs/Db99OfdnxgkK3JqCCyFfp12LAsboWDUCnRhPOskw==", + "path": "microsoft.entityframeworkcore.sqlserver/6.0.3", + "hashPath": "microsoft.entityframeworkcore.sqlserver.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-s5s19Woo8kFqI9GQrqM6ZT4qS1xLlWuccqfg3ELf8shp93f8btuK6T3iFV//wP1pkRjFB4qbPrQwMO88RKfHXw==", + "path": "microsoft.entityframeworkcore.tools/6.0.3", + "hashPath": "microsoft.entityframeworkcore.tools.6.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "path": "microsoft.extensions.caching.memory/6.0.1", + "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "path": "microsoft.extensions.logging/6.0.0", + "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "path": "microsoft.extensions.options/6.0.0", + "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "path": "microsoft.extensions.primitives/6.0.0", + "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.21.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==", + "path": "microsoft.identity.client/4.21.1", + "hashPath": "microsoft.identity.client.4.21.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==", + "path": "microsoft.identitymodel.jsonwebtokens/6.8.0", + "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==", + "path": "microsoft.identitymodel.logging/6.8.0", + "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==", + "path": "microsoft.identitymodel.protocols/6.8.0", + "hashPath": "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==", + "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0", + "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==", + "path": "microsoft.identitymodel.tokens/6.8.0", + "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==", + "path": "microsoft.netcore.platforms/3.1.0", + "hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==", + "path": "microsoft.win32.registry/4.7.0", + "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512" + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mtVirZr++rq+XCDITMUdnETD59XoeMxSpLRIII7JRI6Yj0LEDiO1pPn0ktlnIj12Ix8bfvQqQDMMIF9wC98oCA==", + "path": "microsoft.win32.systemevents/4.7.0", + "hashPath": "microsoft.win32.systemevents.4.7.0.nupkg.sha512" + }, + "MySqlConnector/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", + "path": "mysqlconnector/2.0.0", + "hashPath": "mysqlconnector.2.0.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", + "hashPath": "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/anOTeSZCNNI2zDilogWrZ8pNqCmYbzGNexUnNhjW8k0sHqEZ2nHJBp147jBV3hGYswu5lINpNg1vxR7bnqvVA==", + "path": "system.configuration.configurationmanager/4.7.0", + "hashPath": "system.configuration.configurationmanager.4.7.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512" + }, + "System.Drawing.Common/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v+XbyYHaZjDfn0ENmJEV1VYLgGgCTx1gnfOBcppowbpOAriglYgGCvFCPr2EEZyBvXlpxbEsTwkOlInl107ahA==", + "path": "system.drawing.common/4.7.0", + "hashPath": "system.drawing.common.4.7.0.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==", + "path": "system.identitymodel.tokens.jwt/6.8.0", + "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512" + }, + "System.Linq.Dynamic.Core/1.6.7": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lH+YgtovXbxD6JImHl2VXUtXRUvN8BMEZB2ReZNvS+J5GnGGZV9ivxslQ2nJWmKlBjFTReAKsevnQKE4yLP2pA==", + "path": "system.linq.dynamic.core/1.6.7", + "hashPath": "system.linq.dynamic.core.1.6.7.nupkg.sha512" + }, + "System.Runtime.Caching/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NdvNRjTPxYvIEhXQszT9L9vJhdQoX6AQ0AlhjTU+5NqFQVuacJTfhPVAvtGWNA2OJCqRiR/okBcZgMwI6MqcZg==", + "path": "system.runtime.caching/4.7.0", + "hashPath": "system.runtime.caching.4.7.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==", + "path": "system.security.accesscontrol/4.7.0", + "hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", + "path": "system.security.cryptography.cng/4.5.0", + "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ehYW0m9ptxpGWvE4zgqongBVWpSDU/JCFD4K7krxkQwSz/sFQjEXCUqpvencjy6DYDbn7Ig09R8GFffu8TtneQ==", + "path": "system.security.cryptography.protecteddata/4.7.0", + "hashPath": "system.security.cryptography.protecteddata.4.7.0.nupkg.sha512" + }, + "System.Security.Permissions/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dkOV6YYVBnYRa15/yv004eCGRBVADXw8qRbbNiCn/XpdJSUXkkUeIvdvFHkvnko4CdKMqG8yRHC4ox83LSlMsQ==", + "path": "system.security.permissions/4.7.0", + "hashPath": "system.security.permissions.4.7.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==", + "path": "system.security.principal.windows/4.7.0", + "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", + "path": "system.text.encoding.codepages/4.7.0", + "hashPath": "system.text.encoding.codepages.4.7.0.nupkg.sha512" + }, + "System.Windows.Extensions/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CeWTdRNfRaSh0pm2gDTJFwVaXfTq6Xwv/sA887iwPTneW7oMtMlpvDIO+U60+3GWTB7Aom6oQwv5VZVUhQRdPQ==", + "path": "system.windows.extensions/4.7.0", + "hashPath": "system.windows.extensions.4.7.0.nupkg.sha512" + }, + "Complex.Application/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.dll b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.dll new file mode 100644 index 0000000..0c6b8c5 Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.pdb b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.pdb new file mode 100644 index 0000000..370a901 Binary files /dev/null and b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.pdb differ diff --git a/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.runtimeconfig.json b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.runtimeconfig.json new file mode 100644 index 0000000..4986d16 --- /dev/null +++ b/Complex.Infrastructure/bin/Debug/net6.0/Complex.Infrastructure.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "net6.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "6.0.0" + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.dll b/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.dll new file mode 100644 index 0000000..6742851 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.dll differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.pdb b/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.pdb new file mode 100644 index 0000000..22424d9 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Application.pdb differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.dll b/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.dll new file mode 100644 index 0000000..816e027 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.dll differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.pdb b/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.pdb new file mode 100644 index 0000000..cf3d7e2 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Domain.pdb differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.deps.json b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.deps.json new file mode 100644 index 0000000..1d7b208 --- /dev/null +++ b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.deps.json @@ -0,0 +1,945 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Complex.Infrastructure/1.0.0": { + "dependencies": { + "Complex.Application": "1.0.0", + "Flurl.Http": "3.2.4", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.EntityFrameworkCore.Design": "6.0.3", + "Microsoft.EntityFrameworkCore.SqlServer": "6.0.3", + "Microsoft.EntityFrameworkCore.Tools": "6.0.3", + "Pomelo.EntityFrameworkCore.MySql": "6.0.0" + }, + "runtime": { + "Complex.Infrastructure.dll": {} + } + }, + "AutoMapper/11.0.1": { + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "assemblyVersion": "11.0.0.0", + "fileVersion": "11.0.1.0" + } + } + }, + "Flurl/3.0.6": { + "runtime": { + "lib/netstandard2.0/Flurl.dll": { + "assemblyVersion": "3.0.6.0", + "fileVersion": "3.0.6.0" + } + } + }, + "Flurl.Http/3.2.4": { + "dependencies": { + "Flurl": "3.0.6", + "Newtonsoft.Json": "13.0.1", + "System.Text.Encoding.CodePages": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/Flurl.Http.dll": { + "assemblyVersion": "3.2.4.0", + "fileVersion": "3.2.4.0" + } + } + }, + "Humanizer.Core/2.8.26": { + "runtime": { + "lib/netstandard2.0/Humanizer.dll": { + "assemblyVersion": "2.8.0.0", + "fileVersion": "2.8.26.1919" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.Data.SqlClient/2.1.4": { + "dependencies": { + "Microsoft.Data.SqlClient.SNI.runtime": "2.1.1", + "Microsoft.Identity.Client": "4.21.1", + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0", + "Microsoft.Win32.Registry": "4.7.0", + "System.Configuration.ConfigurationManager": "4.7.0", + "System.Diagnostics.DiagnosticSource": "6.0.0", + "System.Runtime.Caching": "4.7.0", + "System.Security.Principal.Windows": "4.7.0", + "System.Text.Encoding.CodePages": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + }, + "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "2.0.20168.4", + "fileVersion": "2.0.20168.4" + } + } + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "runtimeTargets": { + "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "2.1.1.0" + }, + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "2.1.1.0" + } + } + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": {}, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "dependencies": { + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "dependencies": { + "Microsoft.Data.SqlClient": "2.1.4", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.dll": { + "assemblyVersion": "6.0.3.0", + "fileVersion": "6.0.322.12306" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "6.0.3" + } + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.222.6406" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Identity.Client/4.21.1": { + "runtime": { + "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.21.1.0", + "fileVersion": "4.21.1.0" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.8.0", + "System.IdentityModel.Tokens.Jwt": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.IdentityModel.Logging": "6.8.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "Microsoft.NETCore.Platforms/3.1.0": {}, + "Microsoft.Win32.Registry/4.7.0": { + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Security.Principal.Windows": "4.7.0" + } + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "MySqlConnector/2.0.0": { + "runtime": { + "lib/net6.0/MySqlConnector.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.3", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.0.0" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.7.0", + "System.Security.Permissions": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Drawing.Common/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "Microsoft.Win32.SystemEvents": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": { + "assemblyVersion": "4.0.0.1", + "fileVersion": "4.6.26919.2" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + }, + "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "runtime": { + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "6.8.0.0", + "fileVersion": "6.8.0.11012" + } + } + }, + "System.Linq.Dynamic.Core/1.2.18": { + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "assemblyVersion": "1.2.18.0", + "fileVersion": "1.2.18.0" + } + } + }, + "System.Runtime.Caching/4.7.0": { + "dependencies": { + "System.Configuration.ConfigurationManager": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.Runtime.Caching.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Security.AccessControl/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "System.Security.Principal.Windows": "4.7.0" + } + }, + "System.Security.Cryptography.Cng/4.5.0": {}, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.5.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Security.Permissions/4.7.0": { + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Windows.Extensions": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "System.Security.Principal.Windows/4.7.0": {}, + "System.Text.Encoding.CodePages/4.7.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + } + }, + "System.Windows.Extensions/4.7.0": { + "dependencies": { + "System.Drawing.Common": "4.7.0" + }, + "runtime": { + "lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.700.19.56404" + } + } + }, + "Complex.Application/1.0.0": { + "dependencies": { + "AutoMapper": "11.0.1", + "Complex.Domain": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "System.Linq.Dynamic.Core": "1.2.18" + }, + "runtime": { + "Complex.Application.dll": {} + } + }, + "Complex.Domain/1.0.0": { + "runtime": { + "Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "Complex.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "AutoMapper/11.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "path": "automapper/11.0.1", + "hashPath": "automapper.11.0.1.nupkg.sha512" + }, + "Flurl/3.0.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XMIlB/tJ4nTYF2+79xDsnnlgbXHpKyizKX2fffrECekI6pEsa9MSLzf5tPVMdLy4k4AcJPLs356Sa2Le5VRDCw==", + "path": "flurl/3.0.6", + "hashPath": "flurl.3.0.6.nupkg.sha512" + }, + "Flurl.Http/3.2.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Me9Vm4Lm21vt/pbR0G2Dww/ZOjJgh6mB2FiH28aiUYStJD10ZecDp8jxg2zKxcy6lnkvLm99pjG4yC/k7a/d8w==", + "path": "flurl.http/3.2.4", + "hashPath": "flurl.http.3.2.4.nupkg.sha512" + }, + "Humanizer.Core/2.8.26": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", + "path": "humanizer.core/2.8.26", + "hashPath": "humanizer.core.2.8.26.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.Data.SqlClient/2.1.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==", + "path": "microsoft.data.sqlclient/2.1.4", + "hashPath": "microsoft.data.sqlclient.2.1.4.nupkg.sha512" + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JwGDWkyZgm7SATJmFLfT2G4teimvNbNtq3lsS9a5DzvhEZnQrZjZhevCU0vdx8MjheLHoG5vocuO03QtioFQxQ==", + "path": "microsoft.data.sqlclient.sni.runtime/2.1.1", + "hashPath": "microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "path": "microsoft.entityframeworkcore/6.0.3", + "hashPath": "microsoft.entityframeworkcore.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Gc3XhQ4vLK4rlGpZi8zaa4bl0t894QxqMXHSbDSsx8d7ghRaLbGIH1tQawpo2hriU/q918eepbCyoISD89Xx1w==", + "path": "microsoft.entityframeworkcore.design/6.0.3", + "hashPath": "microsoft.entityframeworkcore.design.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Dga4OH8QxmPT9APr7ZL5R0TvNADOcjDNNvJa8pU3QbPJ6OvRPTlzqAehfEBow0/NXBTKbIO48b4aIJI4VCO7fg==", + "path": "microsoft.entityframeworkcore.relational/6.0.3", + "hashPath": "microsoft.entityframeworkcore.relational.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rd1lGh5au10tB6J0Jt3ZLLA78Bs/eQSWgkMSBE9n+cRAs/Db99OfdnxgkK3JqCCyFfp12LAsboWDUCnRhPOskw==", + "path": "microsoft.entityframeworkcore.sqlserver/6.0.3", + "hashPath": "microsoft.entityframeworkcore.sqlserver.6.0.3.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-s5s19Woo8kFqI9GQrqM6ZT4qS1xLlWuccqfg3ELf8shp93f8btuK6T3iFV//wP1pkRjFB4qbPrQwMO88RKfHXw==", + "path": "microsoft.entityframeworkcore.tools/6.0.3", + "hashPath": "microsoft.entityframeworkcore.tools.6.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "path": "microsoft.extensions.caching.memory/6.0.1", + "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "path": "microsoft.extensions.logging/6.0.0", + "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "path": "microsoft.extensions.options/6.0.0", + "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "path": "microsoft.extensions.primitives/6.0.0", + "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.21.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==", + "path": "microsoft.identity.client/4.21.1", + "hashPath": "microsoft.identity.client.4.21.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==", + "path": "microsoft.identitymodel.jsonwebtokens/6.8.0", + "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==", + "path": "microsoft.identitymodel.logging/6.8.0", + "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==", + "path": "microsoft.identitymodel.protocols/6.8.0", + "hashPath": "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==", + "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0", + "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==", + "path": "microsoft.identitymodel.tokens/6.8.0", + "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/3.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==", + "path": "microsoft.netcore.platforms/3.1.0", + "hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==", + "path": "microsoft.win32.registry/4.7.0", + "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512" + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mtVirZr++rq+XCDITMUdnETD59XoeMxSpLRIII7JRI6Yj0LEDiO1pPn0ktlnIj12Ix8bfvQqQDMMIF9wC98oCA==", + "path": "microsoft.win32.systemevents/4.7.0", + "hashPath": "microsoft.win32.systemevents.4.7.0.nupkg.sha512" + }, + "MySqlConnector/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", + "path": "mysqlconnector/2.0.0", + "hashPath": "mysqlconnector.2.0.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", + "hashPath": "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/anOTeSZCNNI2zDilogWrZ8pNqCmYbzGNexUnNhjW8k0sHqEZ2nHJBp147jBV3hGYswu5lINpNg1vxR7bnqvVA==", + "path": "system.configuration.configurationmanager/4.7.0", + "hashPath": "system.configuration.configurationmanager.4.7.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512" + }, + "System.Drawing.Common/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v+XbyYHaZjDfn0ENmJEV1VYLgGgCTx1gnfOBcppowbpOAriglYgGCvFCPr2EEZyBvXlpxbEsTwkOlInl107ahA==", + "path": "system.drawing.common/4.7.0", + "hashPath": "system.drawing.common.4.7.0.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==", + "path": "system.identitymodel.tokens.jwt/6.8.0", + "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512" + }, + "System.Linq.Dynamic.Core/1.2.18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+RH90sKD6SK2c9MD2Xo2jz1hkAJYfgPVyW1VgAwiPURR+JzOJCdvsDBg2Iq97FmTymxlQBY76G1cMxsF6j+6tA==", + "path": "system.linq.dynamic.core/1.2.18", + "hashPath": "system.linq.dynamic.core.1.2.18.nupkg.sha512" + }, + "System.Runtime.Caching/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NdvNRjTPxYvIEhXQszT9L9vJhdQoX6AQ0AlhjTU+5NqFQVuacJTfhPVAvtGWNA2OJCqRiR/okBcZgMwI6MqcZg==", + "path": "system.runtime.caching/4.7.0", + "hashPath": "system.runtime.caching.4.7.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==", + "path": "system.security.accesscontrol/4.7.0", + "hashPath": "system.security.accesscontrol.4.7.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", + "path": "system.security.cryptography.cng/4.5.0", + "hashPath": "system.security.cryptography.cng.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ehYW0m9ptxpGWvE4zgqongBVWpSDU/JCFD4K7krxkQwSz/sFQjEXCUqpvencjy6DYDbn7Ig09R8GFffu8TtneQ==", + "path": "system.security.cryptography.protecteddata/4.7.0", + "hashPath": "system.security.cryptography.protecteddata.4.7.0.nupkg.sha512" + }, + "System.Security.Permissions/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dkOV6YYVBnYRa15/yv004eCGRBVADXw8qRbbNiCn/XpdJSUXkkUeIvdvFHkvnko4CdKMqG8yRHC4ox83LSlMsQ==", + "path": "system.security.permissions/4.7.0", + "hashPath": "system.security.permissions.4.7.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==", + "path": "system.security.principal.windows/4.7.0", + "hashPath": "system.security.principal.windows.4.7.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", + "path": "system.text.encoding.codepages/4.7.0", + "hashPath": "system.text.encoding.codepages.4.7.0.nupkg.sha512" + }, + "System.Windows.Extensions/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CeWTdRNfRaSh0pm2gDTJFwVaXfTq6Xwv/sA887iwPTneW7oMtMlpvDIO+U60+3GWTB7Aom6oQwv5VZVUhQRdPQ==", + "path": "system.windows.extensions/4.7.0", + "hashPath": "system.windows.extensions.4.7.0.nupkg.sha512" + }, + "Complex.Application/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Complex.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.dll b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.dll new file mode 100644 index 0000000..59fef95 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.pdb b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.pdb new file mode 100644 index 0000000..8e5ae24 Binary files /dev/null and b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.pdb differ diff --git a/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.runtimeconfig.json b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.runtimeconfig.json new file mode 100644 index 0000000..e7b3b03 --- /dev/null +++ b/Complex.Infrastructure/bin/Release/net6.0/Complex.Infrastructure.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net6.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "6.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.dgspec.json b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.dgspec.json new file mode 100644 index 0000000..58e8fdf --- /dev/null +++ b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.dgspec.json @@ -0,0 +1,259 @@ +{ + "format": 1, + "restore": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj": {} + }, + "projects": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "projectName": "Complex.Application", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "AutoMapper": { + "target": "Package", + "version": "[11.0.1, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.1, )" + }, + "System.Linq.Dynamic.Core": { + "target": "Package", + "version": "[1.6.7, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + }, + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "projectName": "Complex.Domain", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + }, + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj", + "projectName": "Complex.Infrastructure", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj": { + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "Flurl.Http": { + "target": "Package", + "version": "[3.2.4, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.Design": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.SqlServer": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.Tools": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[6.0.3, )" + }, + "Pomelo.EntityFrameworkCore.MySql": { + "target": "Package", + "version": "[6.0.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.props b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.props new file mode 100644 index 0000000..9923196 --- /dev/null +++ b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.props @@ -0,0 +1,22 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Mohammad\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.12.2 + + + + + + + + + + C:\Users\Mohammad\.nuget\packages\microsoft.entityframeworkcore.tools\6.0.3 + + \ No newline at end of file diff --git a/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.targets b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/Complex.Infrastructure/obj/Complex.Infrastructure.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Complex.Infrastructure/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Infrastructure/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..ed92695 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex..E316097F.Up2Date b/Complex.Infrastructure/obj/Debug/net6.0/Complex..E316097F.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfo.cs b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfo.cs new file mode 100644 index 0000000..9db07f1 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+76f4cde59f94d1616f39953a840a5ca7ef9213e0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache new file mode 100644 index 0000000..beba478 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +cc5d2b51a54c579f77a2de1a2bacb6bf7974710c03182e6bc902287f55edc788 diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..f2e9f42 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Infrastructure +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 6.0 +build_property.EnableCodeStyleSeverity = diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GlobalUsings.g.cs b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.assets.cache b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.assets.cache new file mode 100644 index 0000000..bda44af Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.assets.cache differ diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache new file mode 100644 index 0000000..051acea Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache differ diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.BuildWithSkipAnalyzers b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..e7f577e --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +3acfa2c97613717a02ea51b12892b48cb38acfe9e2db1b6ce6c348595e796c93 diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..b9c2058 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt @@ -0,0 +1,38 @@ +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.deps.json +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.runtimeconfig.json +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.csproj.CopyComplete +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\refint\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.genruntimeconfig.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\ref\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.runtimeconfig.json +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Infrastructure.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Debug\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.csproj.AssemblyReference.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\refint\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex.Infrastructure.genruntimeconfig.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\ref\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Debug\net6.0\Complex..E316097F.Up2Date diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.dll new file mode 100644 index 0000000..0c6b8c5 Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.genruntimeconfig.cache b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.genruntimeconfig.cache new file mode 100644 index 0000000..5204db4 --- /dev/null +++ b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.genruntimeconfig.cache @@ -0,0 +1 @@ +044899eefd377401bd475d77eaeb5fee0cfcd449362a1ca942db9b6c74184c94 diff --git a/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.pdb b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.pdb new file mode 100644 index 0000000..370a901 Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/Complex.Infrastructure.pdb differ diff --git a/Complex.Infrastructure/obj/Debug/net6.0/ref/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Debug/net6.0/ref/Complex.Infrastructure.dll new file mode 100644 index 0000000..5906ead Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/ref/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/Debug/net6.0/refint/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Debug/net6.0/refint/Complex.Infrastructure.dll new file mode 100644 index 0000000..5906ead Binary files /dev/null and b/Complex.Infrastructure/obj/Debug/net6.0/refint/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Complex.Infrastructure/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..36203c7 --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfo.cs b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfo.cs new file mode 100644 index 0000000..c682d4f --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyTitleAttribute("Complex.Infrastructure")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache new file mode 100644 index 0000000..b37039b --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +a91a38f569f510510b781b61085454f62ff24a9a diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..9cd2757 --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,10 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Complex.Infrastructure +build_property.ProjectDir = D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\ diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GlobalUsings.g.cs b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.assets.cache b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.assets.cache new file mode 100644 index 0000000..7486107 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.assets.cache differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache new file mode 100644 index 0000000..00167e8 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.AssemblyReference.cache differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.CopyComplete b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..51e0e14 --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +21fbefb58e434912053e413cc7de94e22e3c4cc0 diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..d3a228a --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.csproj.FileListAbsolute.txt @@ -0,0 +1,38 @@ +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.deps.json +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.runtimeconfig.json +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Application.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Domain.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Application.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Domain.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.AssemblyReference.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.AssemblyInfoInputs.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.AssemblyInfo.cs +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.CoreCompileInputs.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.CopyComplete +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\refint\Complex.Infrastructure.dll +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.pdb +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.genruntimeconfig.cache +F:\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\ref\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.deps.json +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.runtimeconfig.json +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Infrastructure.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Application.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Domain.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Application.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\bin\Release\net6.0\Complex.Domain.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.AssemblyReference.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.GeneratedMSBuildEditorConfig.editorconfig +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.AssemblyInfoInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.AssemblyInfo.cs +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.CoreCompileInputs.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.csproj.CopyComplete +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\refint\Complex.Infrastructure.dll +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.pdb +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\Complex.Infrastructure.genruntimeconfig.cache +D:\Data\Projects\Nabak\Complex\Complex.Infrastructure\obj\Release\net6.0\ref\Complex.Infrastructure.dll diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.dll new file mode 100644 index 0000000..59fef95 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.genruntimeconfig.cache b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.genruntimeconfig.cache new file mode 100644 index 0000000..2c15819 --- /dev/null +++ b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.genruntimeconfig.cache @@ -0,0 +1 @@ +6d81cb9bfe3f9827cfa9f157ba5023f103df71d2 diff --git a/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.pdb b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.pdb new file mode 100644 index 0000000..8e5ae24 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/Complex.Infrastructure.pdb differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/ref/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Release/net6.0/ref/Complex.Infrastructure.dll new file mode 100644 index 0000000..c1e38c7 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/ref/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/Release/net6.0/refint/Complex.Infrastructure.dll b/Complex.Infrastructure/obj/Release/net6.0/refint/Complex.Infrastructure.dll new file mode 100644 index 0000000..c1e38c7 Binary files /dev/null and b/Complex.Infrastructure/obj/Release/net6.0/refint/Complex.Infrastructure.dll differ diff --git a/Complex.Infrastructure/obj/project.assets.json b/Complex.Infrastructure/obj/project.assets.json new file mode 100644 index 0000000..a03c266 --- /dev/null +++ b/Complex.Infrastructure/obj/project.assets.json @@ -0,0 +1,2442 @@ +{ + "version": 3, + "targets": { + "net6.0": { + "AutoMapper/11.0.1": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.7.0" + }, + "compile": { + "lib/netstandard2.1/AutoMapper.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/AutoMapper.dll": { + "related": ".xml" + } + } + }, + "Flurl/3.0.6": { + "type": "package", + "compile": { + "lib/netstandard2.0/Flurl.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Flurl.dll": { + "related": ".xml" + } + } + }, + "Flurl.Http/3.2.4": { + "type": "package", + "dependencies": { + "Flurl": "3.0.6", + "Newtonsoft.Json": "12.0.2", + "System.Text.Encoding.CodePages": "4.5.1" + }, + "compile": { + "lib/netstandard2.0/Flurl.Http.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Flurl.Http.dll": { + "related": ".xml" + } + } + }, + "Humanizer.Core/2.8.26": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Humanizer.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, + "Microsoft.Data.SqlClient/2.1.4": { + "type": "package", + "dependencies": { + "Microsoft.Data.SqlClient.SNI.runtime": "2.1.1", + "Microsoft.Identity.Client": "4.21.1", + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0", + "Microsoft.Win32.Registry": "4.7.0", + "System.Configuration.ConfigurationManager": "4.7.0", + "System.Diagnostics.DiagnosticSource": "4.7.0", + "System.Runtime.Caching": "4.7.0", + "System.Security.Principal.Windows": "4.7.0", + "System.Text.Encoding.CodePages": "4.7.0" + }, + "compile": { + "ref/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "related": ".pdb;.xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "type": "package", + "runtimeTargets": { + "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": { + "assetType": "native", + "rid": "win-arm" + }, + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": { + "assetType": "native", + "rid": "win-arm64" + }, + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": { + "assetType": "native", + "rid": "win-x64" + }, + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": { + "assetType": "native", + "rid": "win-x86" + } + } + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + } + }, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "type": "package", + "dependencies": { + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "compile": { + "lib/net6.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { + "related": ".xml" + } + }, + "build": { + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "type": "package", + "dependencies": { + "Microsoft.Data.SqlClient": "2.1.4", + "Microsoft.EntityFrameworkCore.Relational": "6.0.3" + }, + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "6.0.3" + }, + "compile": { + "lib/net6.0/_._": {} + }, + "runtime": { + "lib/net6.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Logging/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Extensions.Options/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "Microsoft.Identity.Client/4.21.1": { + "type": "package", + "compile": { + "ref/netcoreapp2.1/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": { + "related": ".xml" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "related": ".xml" + } + } + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": { + "related": ".xml" + } + } + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": { + "related": ".xml" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.8.0", + "System.IdentityModel.Tokens.Jwt": "6.8.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "related": ".xml" + } + } + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.8.0", + "System.Security.Cryptography.Cng": "4.5.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": { + "related": ".xml" + } + } + }, + "Microsoft.NETCore.Platforms/3.1.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.Win32.Registry/4.7.0": { + "type": "package", + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Security.Principal.Windows": "4.7.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "MySqlConnector/2.0.0": { + "type": "package", + "compile": { + "lib/net6.0/MySqlConnector.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/MySqlConnector.dll": { + "related": ".xml" + } + } + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "[6.0.0, 7.0.0)", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.0.0" + }, + "compile": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll": { + "related": ".xml" + } + } + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Collections.Immutable.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "type": "package", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.7.0", + "System.Security.Permissions": "4.7.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": { + "related": ".xml" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Drawing.Common/4.7.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "Microsoft.Win32.SystemEvents": "4.7.0" + }, + "compile": { + "ref/netcoreapp3.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Drawing.Common.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "type": "package", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Tokens": "6.8.0" + }, + "compile": { + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": { + "related": ".xml" + } + } + }, + "System.Linq.Dynamic.Core/1.6.7": { + "type": "package", + "compile": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net6.0/System.Linq.Dynamic.Core.dll": { + "related": ".pdb;.xml" + } + } + }, + "System.Runtime.Caching/4.7.0": { + "type": "package", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.7.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Runtime.Caching.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Security.AccessControl/4.7.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0", + "System.Security.Principal.Windows": "4.7.0" + }, + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.Cng/4.5.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": {} + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Permissions/4.7.0": { + "type": "package", + "dependencies": { + "System.Security.AccessControl": "4.7.0", + "System.Windows.Extensions": "4.7.0" + }, + "compile": { + "ref/netcoreapp3.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.0/System.Security.Permissions.dll": { + "related": ".xml" + } + } + }, + "System.Security.Principal.Windows/4.7.0": { + "type": "package", + "compile": { + "ref/netcoreapp3.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Text.Encoding.CodePages/4.7.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.1.0" + }, + "compile": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Windows.Extensions/4.7.0": { + "type": "package", + "dependencies": { + "System.Drawing.Common": "4.7.0" + }, + "compile": { + "ref/netcoreapp3.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "Complex.Application/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "dependencies": { + "AutoMapper": "11.0.1", + "Complex.Domain": "1.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "System.Linq.Dynamic.Core": "1.6.7" + }, + "compile": { + "bin/placeholder/Complex.Application.dll": {} + }, + "runtime": { + "bin/placeholder/Complex.Application.dll": {} + } + }, + "Complex.Domain/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v6.0", + "compile": { + "bin/placeholder/Complex.Domain.dll": {} + }, + "runtime": { + "bin/placeholder/Complex.Domain.dll": {} + } + } + } + }, + "libraries": { + "AutoMapper/11.0.1": { + "sha512": "WIadGC1pIwbnyTubvI577p3F++Bsj9q2Q3OaAc1I0QS+JhupN1xkdrPBhI9bPIeg63zM81tZplUNYkqU1HE5jQ==", + "type": "package", + "path": "automapper/11.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "automapper.11.0.1.nupkg.sha512", + "automapper.nuspec", + "icon.png", + "lib/netstandard2.1/AutoMapper.dll", + "lib/netstandard2.1/AutoMapper.xml" + ] + }, + "Flurl/3.0.6": { + "sha512": "XMIlB/tJ4nTYF2+79xDsnnlgbXHpKyizKX2fffrECekI6pEsa9MSLzf5tPVMdLy4k4AcJPLs356Sa2Le5VRDCw==", + "type": "package", + "path": "flurl/3.0.6", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "flurl.3.0.6.nupkg.sha512", + "flurl.nuspec", + "icon.png", + "lib/net461/Flurl.dll", + "lib/net461/Flurl.xml", + "lib/net472/Flurl.dll", + "lib/net472/Flurl.xml", + "lib/netstandard2.0/Flurl.dll", + "lib/netstandard2.0/Flurl.xml" + ] + }, + "Flurl.Http/3.2.4": { + "sha512": "Me9Vm4Lm21vt/pbR0G2Dww/ZOjJgh6mB2FiH28aiUYStJD10ZecDp8jxg2zKxcy6lnkvLm99pjG4yC/k7a/d8w==", + "type": "package", + "path": "flurl.http/3.2.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "flurl.http.3.2.4.nupkg.sha512", + "flurl.http.nuspec", + "icon.png", + "lib/net461/Flurl.Http.dll", + "lib/net461/Flurl.Http.xml", + "lib/net472/Flurl.Http.dll", + "lib/net472/Flurl.Http.xml", + "lib/netstandard2.0/Flurl.Http.dll", + "lib/netstandard2.0/Flurl.Http.xml" + ] + }, + "Humanizer.Core/2.8.26": { + "sha512": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", + "type": "package", + "path": "humanizer.core/2.8.26", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "humanizer.core.2.8.26.nupkg.sha512", + "humanizer.core.nuspec", + "lib/netstandard1.0/Humanizer.dll", + "lib/netstandard1.0/Humanizer.xml", + "lib/netstandard2.0/Humanizer.dll", + "lib/netstandard2.0/Humanizer.xml", + "logo.png" + ] + }, + "Microsoft.CSharp/4.7.0": { + "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "type": "package", + "path": "microsoft.csharp/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.xml", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.7.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcore50/Microsoft.CSharp.xml", + "ref/netcore50/de/Microsoft.CSharp.xml", + "ref/netcore50/es/Microsoft.CSharp.xml", + "ref/netcore50/fr/Microsoft.CSharp.xml", + "ref/netcore50/it/Microsoft.CSharp.xml", + "ref/netcore50/ja/Microsoft.CSharp.xml", + "ref/netcore50/ko/Microsoft.CSharp.xml", + "ref/netcore50/ru/Microsoft.CSharp.xml", + "ref/netcore50/zh-hans/Microsoft.CSharp.xml", + "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard1.0/Microsoft.CSharp.xml", + "ref/netstandard1.0/de/Microsoft.CSharp.xml", + "ref/netstandard1.0/es/Microsoft.CSharp.xml", + "ref/netstandard1.0/fr/Microsoft.CSharp.xml", + "ref/netstandard1.0/it/Microsoft.CSharp.xml", + "ref/netstandard1.0/ja/Microsoft.CSharp.xml", + "ref/netstandard1.0/ko/Microsoft.CSharp.xml", + "ref/netstandard1.0/ru/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Data.SqlClient/2.1.4": { + "sha512": "cDcKBTKILdRuAzJjbgXwGcUQXzMue+SG02kD4tZTXXfoz4ALrGLpCnA5k9khw3fnAMlMnRzLIGuvRdJurqmESA==", + "type": "package", + "path": "microsoft.data.sqlclient/2.1.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "dotnet.png", + "lib/net46/Microsoft.Data.SqlClient.dll", + "lib/net46/Microsoft.Data.SqlClient.pdb", + "lib/net46/Microsoft.Data.SqlClient.xml", + "lib/net46/de/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/es/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/fr/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/it/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/ja/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/ko/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/pt-BR/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/ru/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/zh-Hans/Microsoft.Data.SqlClient.resources.dll", + "lib/net46/zh-Hant/Microsoft.Data.SqlClient.resources.dll", + "lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll", + "lib/netcoreapp2.1/Microsoft.Data.SqlClient.pdb", + "lib/netcoreapp2.1/Microsoft.Data.SqlClient.xml", + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll", + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.pdb", + "lib/netcoreapp3.1/Microsoft.Data.SqlClient.xml", + "lib/netstandard2.0/Microsoft.Data.SqlClient.dll", + "lib/netstandard2.0/Microsoft.Data.SqlClient.pdb", + "lib/netstandard2.0/Microsoft.Data.SqlClient.xml", + "lib/netstandard2.1/Microsoft.Data.SqlClient.dll", + "lib/netstandard2.1/Microsoft.Data.SqlClient.pdb", + "lib/netstandard2.1/Microsoft.Data.SqlClient.xml", + "microsoft.data.sqlclient.2.1.4.nupkg.sha512", + "microsoft.data.sqlclient.nuspec", + "ref/net46/Microsoft.Data.SqlClient.dll", + "ref/net46/Microsoft.Data.SqlClient.pdb", + "ref/net46/Microsoft.Data.SqlClient.xml", + "ref/netcoreapp2.1/Microsoft.Data.SqlClient.dll", + "ref/netcoreapp2.1/Microsoft.Data.SqlClient.pdb", + "ref/netcoreapp2.1/Microsoft.Data.SqlClient.xml", + "ref/netcoreapp3.1/Microsoft.Data.SqlClient.dll", + "ref/netcoreapp3.1/Microsoft.Data.SqlClient.pdb", + "ref/netcoreapp3.1/Microsoft.Data.SqlClient.xml", + "ref/netstandard2.0/Microsoft.Data.SqlClient.dll", + "ref/netstandard2.0/Microsoft.Data.SqlClient.pdb", + "ref/netstandard2.0/Microsoft.Data.SqlClient.xml", + "ref/netstandard2.1/Microsoft.Data.SqlClient.dll", + "ref/netstandard2.1/Microsoft.Data.SqlClient.pdb", + "ref/netstandard2.1/Microsoft.Data.SqlClient.xml", + "runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll", + "runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.pdb", + "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll", + "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.pdb", + "runtimes/unix/lib/netstandard2.0/Microsoft.Data.SqlClient.dll", + "runtimes/unix/lib/netstandard2.0/Microsoft.Data.SqlClient.pdb", + "runtimes/unix/lib/netstandard2.1/Microsoft.Data.SqlClient.dll", + "runtimes/unix/lib/netstandard2.1/Microsoft.Data.SqlClient.pdb", + "runtimes/win/lib/net46/Microsoft.Data.SqlClient.dll", + "runtimes/win/lib/net46/Microsoft.Data.SqlClient.pdb", + "runtimes/win/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll", + "runtimes/win/lib/netcoreapp2.1/Microsoft.Data.SqlClient.pdb", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.pdb", + "runtimes/win/lib/netstandard2.0/Microsoft.Data.SqlClient.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Data.SqlClient.pdb", + "runtimes/win/lib/netstandard2.1/Microsoft.Data.SqlClient.dll", + "runtimes/win/lib/netstandard2.1/Microsoft.Data.SqlClient.pdb" + ] + }, + "Microsoft.Data.SqlClient.SNI.runtime/2.1.1": { + "sha512": "JwGDWkyZgm7SATJmFLfT2G4teimvNbNtq3lsS9a5DzvhEZnQrZjZhevCU0vdx8MjheLHoG5vocuO03QtioFQxQ==", + "type": "package", + "path": "microsoft.data.sqlclient.sni.runtime/2.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.txt", + "dotnet.png", + "microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512", + "microsoft.data.sqlclient.sni.runtime.nuspec", + "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll", + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll", + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll", + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll" + ] + }, + "Microsoft.EntityFrameworkCore/6.0.3": { + "sha512": "f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "type": "package", + "path": "microsoft.entityframeworkcore/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.xml", + "microsoft.entityframeworkcore.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/6.0.3": { + "sha512": "7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Analyzers/6.0.3": { + "sha512": "Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==", + "type": "package", + "path": "microsoft.entityframeworkcore.analyzers/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", + "lib/netstandard2.0/_._", + "microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.analyzers.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Design/6.0.3": { + "sha512": "Gc3XhQ4vLK4rlGpZi8zaa4bl0t894QxqMXHSbDSsx8d7ghRaLbGIH1tQawpo2hriU/q918eepbCyoISD89Xx1w==", + "type": "package", + "path": "microsoft.entityframeworkcore.design/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", + "microsoft.entityframeworkcore.design.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.design.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Relational/6.0.3": { + "sha512": "Dga4OH8QxmPT9APr7ZL5R0TvNADOcjDNNvJa8pU3QbPJ6OvRPTlzqAehfEBow0/NXBTKbIO48b4aIJI4VCO7fg==", + "type": "package", + "path": "microsoft.entityframeworkcore.relational/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", + "microsoft.entityframeworkcore.relational.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.relational.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.SqlServer/6.0.3": { + "sha512": "rd1lGh5au10tB6J0Jt3ZLLA78Bs/eQSWgkMSBE9n+cRAs/Db99OfdnxgkK3JqCCyFfp12LAsboWDUCnRhPOskw==", + "type": "package", + "path": "microsoft.entityframeworkcore.sqlserver/6.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.SqlServer.xml", + "microsoft.entityframeworkcore.sqlserver.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.sqlserver.nuspec" + ] + }, + "Microsoft.EntityFrameworkCore.Tools/6.0.3": { + "sha512": "s5s19Woo8kFqI9GQrqM6ZT4qS1xLlWuccqfg3ELf8shp93f8btuK6T3iFV//wP1pkRjFB4qbPrQwMO88RKfHXw==", + "type": "package", + "path": "microsoft.entityframeworkcore.tools/6.0.3", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/_._", + "microsoft.entityframeworkcore.tools.6.0.3.nupkg.sha512", + "microsoft.entityframeworkcore.tools.nuspec", + "tools/EntityFrameworkCore.PS2.psd1", + "tools/EntityFrameworkCore.PS2.psm1", + "tools/EntityFrameworkCore.psd1", + "tools/EntityFrameworkCore.psm1", + "tools/about_EntityFrameworkCore.help.txt", + "tools/init.ps1", + "tools/net461/any/ef.exe", + "tools/net461/win-x86/ef.exe", + "tools/netcoreapp2.0/any/ef.dll", + "tools/netcoreapp2.0/any/ef.runtimeconfig.json" + ] + }, + "Microsoft.Extensions.Caching.Abstractions/6.0.0": { + "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/6.0.1": { + "sha512": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "type": "package", + "path": "microsoft.extensions.caching.memory/6.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Caching.Memory.dll", + "lib/net461/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { + "sha512": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/6.0.0": { + "sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { + "sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/6.0.0": { + "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "type": "package", + "path": "microsoft.extensions.logging/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "build/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/6.0.0": { + "sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "type": "package", + "path": "microsoft.extensions.options/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Options.dll", + "lib/net461/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.6.0.0.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/6.0.0": { + "sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "type": "package", + "path": "microsoft.extensions.primitives/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Extensions.Primitives.dll", + "lib/net461/Microsoft.Extensions.Primitives.xml", + "lib/net6.0/Microsoft.Extensions.Primitives.dll", + "lib/net6.0/Microsoft.Extensions.Primitives.xml", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll", + "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Identity.Client/4.21.1": { + "sha512": "vycgk7S/HAbHaUaK4Tid1fsWHsXdFRRP2KavAIOHCVV27zvuQfYAjXmMvctuuF4egydSumG58CwPZob3gWeYgQ==", + "type": "package", + "path": "microsoft.identity.client/4.21.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/monoandroid10.0/Microsoft.Identity.Client.dll", + "lib/monoandroid10.0/Microsoft.Identity.Client.xml", + "lib/monoandroid90/Microsoft.Identity.Client.dll", + "lib/monoandroid90/Microsoft.Identity.Client.xml", + "lib/net45/Microsoft.Identity.Client.dll", + "lib/net45/Microsoft.Identity.Client.xml", + "lib/net461/Microsoft.Identity.Client.dll", + "lib/net461/Microsoft.Identity.Client.xml", + "lib/netcoreapp2.1/Microsoft.Identity.Client.dll", + "lib/netcoreapp2.1/Microsoft.Identity.Client.xml", + "lib/netstandard1.3/Microsoft.Identity.Client.dll", + "lib/netstandard1.3/Microsoft.Identity.Client.xml", + "lib/uap10.0/Microsoft.Identity.Client.dll", + "lib/uap10.0/Microsoft.Identity.Client.pri", + "lib/uap10.0/Microsoft.Identity.Client.xml", + "lib/xamarinios10/Microsoft.Identity.Client.dll", + "lib/xamarinios10/Microsoft.Identity.Client.xml", + "lib/xamarinmac20/Microsoft.Identity.Client.dll", + "lib/xamarinmac20/Microsoft.Identity.Client.xml", + "microsoft.identity.client.4.21.1.nupkg.sha512", + "microsoft.identity.client.nuspec", + "ref/MonoAndroid10.0/Microsoft.Identity.Client.dll", + "ref/MonoAndroid10.0/Microsoft.Identity.Client.xml", + "ref/MonoAndroid9.0/Microsoft.Identity.Client.dll", + "ref/MonoAndroid9.0/Microsoft.Identity.Client.xml", + "ref/Xamarin.iOS10/Microsoft.Identity.Client.dll", + "ref/Xamarin.iOS10/Microsoft.Identity.Client.xml", + "ref/net45/Microsoft.Identity.Client.dll", + "ref/net45/Microsoft.Identity.Client.xml", + "ref/net461/Microsoft.Identity.Client.dll", + "ref/net461/Microsoft.Identity.Client.xml", + "ref/netcoreapp2.1/Microsoft.Identity.Client.dll", + "ref/netcoreapp2.1/Microsoft.Identity.Client.xml", + "ref/netstandard1.3/Microsoft.Identity.Client.dll", + "ref/netstandard1.3/Microsoft.Identity.Client.xml", + "ref/uap10.0/Microsoft.Identity.Client.dll", + "ref/uap10.0/Microsoft.Identity.Client.xml", + "ref/xamarinmac20/Microsoft.Identity.Client.dll", + "ref/xamarinmac20/Microsoft.Identity.Client.xml" + ] + }, + "Microsoft.IdentityModel.JsonWebTokens/6.8.0": { + "sha512": "+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==", + "type": "package", + "path": "microsoft.identitymodel.jsonwebtokens/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net45/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml", + "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512", + "microsoft.identitymodel.jsonwebtokens.nuspec" + ] + }, + "Microsoft.IdentityModel.Logging/6.8.0": { + "sha512": "Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==", + "type": "package", + "path": "microsoft.identitymodel.logging/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Logging.dll", + "lib/net45/Microsoft.IdentityModel.Logging.xml", + "lib/net461/Microsoft.IdentityModel.Logging.dll", + "lib/net461/Microsoft.IdentityModel.Logging.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml", + "microsoft.identitymodel.logging.6.8.0.nupkg.sha512", + "microsoft.identitymodel.logging.nuspec" + ] + }, + "Microsoft.IdentityModel.Protocols/6.8.0": { + "sha512": "OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==", + "type": "package", + "path": "microsoft.identitymodel.protocols/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Protocols.dll", + "lib/net45/Microsoft.IdentityModel.Protocols.xml", + "lib/net461/Microsoft.IdentityModel.Protocols.dll", + "lib/net461/Microsoft.IdentityModel.Protocols.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.xml", + "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512", + "microsoft.identitymodel.protocols.nuspec" + ] + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": { + "sha512": "X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==", + "type": "package", + "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll", + "lib/net45/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml", + "lib/net461/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll", + "lib/net461/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml", + "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512", + "microsoft.identitymodel.protocols.openidconnect.nuspec" + ] + }, + "Microsoft.IdentityModel.Tokens/6.8.0": { + "sha512": "gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==", + "type": "package", + "path": "microsoft.identitymodel.tokens/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/Microsoft.IdentityModel.Tokens.dll", + "lib/net45/Microsoft.IdentityModel.Tokens.xml", + "lib/net461/Microsoft.IdentityModel.Tokens.dll", + "lib/net461/Microsoft.IdentityModel.Tokens.xml", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll", + "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml", + "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512", + "microsoft.identitymodel.tokens.nuspec" + ] + }, + "Microsoft.NETCore.Platforms/3.1.0": { + "sha512": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==", + "type": "package", + "path": "microsoft.netcore.platforms/3.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/_._", + "microsoft.netcore.platforms.3.1.0.nupkg.sha512", + "microsoft.netcore.platforms.nuspec", + "runtime.json", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Win32.Registry/4.7.0": { + "sha512": "KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==", + "type": "package", + "path": "microsoft.win32.registry/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/Microsoft.Win32.Registry.dll", + "lib/net461/Microsoft.Win32.Registry.dll", + "lib/net461/Microsoft.Win32.Registry.xml", + "lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "lib/netstandard2.0/Microsoft.Win32.Registry.xml", + "microsoft.win32.registry.4.7.0.nupkg.sha512", + "microsoft.win32.registry.nuspec", + "ref/net46/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.xml", + "ref/net472/Microsoft.Win32.Registry.dll", + "ref/net472/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/Microsoft.Win32.Registry.dll", + "ref/netstandard1.3/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", + "ref/netstandard2.0/Microsoft.Win32.Registry.dll", + "ref/netstandard2.0/Microsoft.Win32.Registry.xml", + "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.xml", + "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net461/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net461/Microsoft.Win32.Registry.xml", + "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.xml", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Win32.SystemEvents/4.7.0": { + "sha512": "mtVirZr++rq+XCDITMUdnETD59XoeMxSpLRIII7JRI6Yj0LEDiO1pPn0ktlnIj12Ix8bfvQqQDMMIF9wC98oCA==", + "type": "package", + "path": "microsoft.win32.systemevents/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Win32.SystemEvents.dll", + "lib/net461/Microsoft.Win32.SystemEvents.xml", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.xml", + "microsoft.win32.systemevents.4.7.0.nupkg.sha512", + "microsoft.win32.systemevents.nuspec", + "ref/net461/Microsoft.Win32.SystemEvents.dll", + "ref/net461/Microsoft.Win32.SystemEvents.xml", + "ref/net472/Microsoft.Win32.SystemEvents.dll", + "ref/net472/Microsoft.Win32.SystemEvents.xml", + "ref/netstandard2.0/Microsoft.Win32.SystemEvents.dll", + "ref/netstandard2.0/Microsoft.Win32.SystemEvents.xml", + "runtimes/win/lib/netcoreapp2.0/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/netcoreapp2.0/Microsoft.Win32.SystemEvents.xml", + "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/netcoreapp3.0/Microsoft.Win32.SystemEvents.xml", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "MySqlConnector/2.0.0": { + "sha512": "EY0KXqQas+QvdZQU0NPkqBSfJitWAl8IUCg0v/Qn0P7f/KApJTFJFm8czYWoDPyewUjPHrAnE/cSYzzSFGc8Ng==", + "type": "package", + "path": "mysqlconnector/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net45/MySqlConnector.dll", + "lib/net45/MySqlConnector.xml", + "lib/net461/MySqlConnector.dll", + "lib/net461/MySqlConnector.xml", + "lib/net471/MySqlConnector.dll", + "lib/net471/MySqlConnector.xml", + "lib/net5.0/MySqlConnector.dll", + "lib/net5.0/MySqlConnector.xml", + "lib/net6.0/MySqlConnector.dll", + "lib/net6.0/MySqlConnector.xml", + "lib/netcoreapp3.1/MySqlConnector.dll", + "lib/netcoreapp3.1/MySqlConnector.xml", + "lib/netstandard2.0/MySqlConnector.dll", + "lib/netstandard2.0/MySqlConnector.xml", + "lib/netstandard2.1/MySqlConnector.dll", + "lib/netstandard2.1/MySqlConnector.xml", + "logo.png", + "mysqlconnector.2.0.0.nupkg.sha512", + "mysqlconnector.nuspec" + ] + }, + "Newtonsoft.Json/13.0.1": { + "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "type": "package", + "path": "newtonsoft.json/13.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.1.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + }, + "Pomelo.EntityFrameworkCore.MySql/6.0.0": { + "sha512": "iWloXFjpN6BllZA9oPqZTW9mNtFV5Q6DFv0WwFyh1IuOJ71btS3ifTwpLmaFXSlXzuEU9o7Rul0dU0WiwkOq0Q==", + "type": "package", + "path": "pomelo.entityframeworkcore.mysql/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.dll", + "lib/net6.0/Pomelo.EntityFrameworkCore.MySql.xml", + "pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", + "pomelo.entityframeworkcore.mysql.nuspec" + ] + }, + "System.Collections.Immutable/6.0.0": { + "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "type": "package", + "path": "system.collections.immutable/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Collections.Immutable.dll", + "lib/net461/System.Collections.Immutable.xml", + "lib/net6.0/System.Collections.Immutable.dll", + "lib/net6.0/System.Collections.Immutable.xml", + "lib/netstandard2.0/System.Collections.Immutable.dll", + "lib/netstandard2.0/System.Collections.Immutable.xml", + "system.collections.immutable.6.0.0.nupkg.sha512", + "system.collections.immutable.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Configuration.ConfigurationManager/4.7.0": { + "sha512": "/anOTeSZCNNI2zDilogWrZ8pNqCmYbzGNexUnNhjW8k0sHqEZ2nHJBp147jBV3hGYswu5lINpNg1vxR7bnqvVA==", + "type": "package", + "path": "system.configuration.configurationmanager/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Configuration.ConfigurationManager.dll", + "lib/net461/System.Configuration.ConfigurationManager.xml", + "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll", + "lib/netstandard2.0/System.Configuration.ConfigurationManager.xml", + "ref/net461/System.Configuration.ConfigurationManager.dll", + "ref/net461/System.Configuration.ConfigurationManager.xml", + "ref/netstandard2.0/System.Configuration.ConfigurationManager.dll", + "ref/netstandard2.0/System.Configuration.ConfigurationManager.xml", + "system.configuration.configurationmanager.4.7.0.nupkg.sha512", + "system.configuration.configurationmanager.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Diagnostics.DiagnosticSource/6.0.0": { + "sha512": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Diagnostics.DiagnosticSource.dll", + "lib/net461/System.Diagnostics.DiagnosticSource.xml", + "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Drawing.Common/4.7.0": { + "sha512": "v+XbyYHaZjDfn0ENmJEV1VYLgGgCTx1gnfOBcppowbpOAriglYgGCvFCPr2EEZyBvXlpxbEsTwkOlInl107ahA==", + "type": "package", + "path": "system.drawing.common/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Drawing.Common.dll", + "lib/netstandard2.0/System.Drawing.Common.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net461/System.Drawing.Common.dll", + "ref/netcoreapp3.0/System.Drawing.Common.dll", + "ref/netcoreapp3.0/System.Drawing.Common.xml", + "ref/netstandard2.0/System.Drawing.Common.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll", + "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll", + "runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.xml", + "runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll", + "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll", + "runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.xml", + "system.drawing.common.4.7.0.nupkg.sha512", + "system.drawing.common.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.IdentityModel.Tokens.Jwt/6.8.0": { + "sha512": "5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==", + "type": "package", + "path": "system.identitymodel.tokens.jwt/6.8.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/System.IdentityModel.Tokens.Jwt.dll", + "lib/net45/System.IdentityModel.Tokens.Jwt.xml", + "lib/net461/System.IdentityModel.Tokens.Jwt.dll", + "lib/net461/System.IdentityModel.Tokens.Jwt.xml", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll", + "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml", + "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512", + "system.identitymodel.tokens.jwt.nuspec" + ] + }, + "System.Linq.Dynamic.Core/1.6.7": { + "sha512": "lH+YgtovXbxD6JImHl2VXUtXRUvN8BMEZB2ReZNvS+J5GnGGZV9ivxslQ2nJWmKlBjFTReAKsevnQKE4yLP2pA==", + "type": "package", + "path": "system.linq.dynamic.core/1.6.7", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "PackageReadme.md", + "lib/net35/System.Linq.Dynamic.Core.dll", + "lib/net35/System.Linq.Dynamic.Core.pdb", + "lib/net35/System.Linq.Dynamic.Core.xml", + "lib/net40/System.Linq.Dynamic.Core.dll", + "lib/net40/System.Linq.Dynamic.Core.pdb", + "lib/net40/System.Linq.Dynamic.Core.xml", + "lib/net45/System.Linq.Dynamic.Core.dll", + "lib/net45/System.Linq.Dynamic.Core.pdb", + "lib/net45/System.Linq.Dynamic.Core.xml", + "lib/net452/System.Linq.Dynamic.Core.dll", + "lib/net452/System.Linq.Dynamic.Core.pdb", + "lib/net452/System.Linq.Dynamic.Core.xml", + "lib/net46/System.Linq.Dynamic.Core.dll", + "lib/net46/System.Linq.Dynamic.Core.pdb", + "lib/net46/System.Linq.Dynamic.Core.xml", + "lib/net5.0/System.Linq.Dynamic.Core.dll", + "lib/net5.0/System.Linq.Dynamic.Core.pdb", + "lib/net5.0/System.Linq.Dynamic.Core.xml", + "lib/net6.0/System.Linq.Dynamic.Core.dll", + "lib/net6.0/System.Linq.Dynamic.Core.pdb", + "lib/net6.0/System.Linq.Dynamic.Core.xml", + "lib/net7.0/System.Linq.Dynamic.Core.dll", + "lib/net7.0/System.Linq.Dynamic.Core.pdb", + "lib/net7.0/System.Linq.Dynamic.Core.xml", + "lib/net8.0/System.Linq.Dynamic.Core.dll", + "lib/net8.0/System.Linq.Dynamic.Core.pdb", + "lib/net8.0/System.Linq.Dynamic.Core.xml", + "lib/net9.0/System.Linq.Dynamic.Core.dll", + "lib/net9.0/System.Linq.Dynamic.Core.pdb", + "lib/net9.0/System.Linq.Dynamic.Core.xml", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.dll", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.pdb", + "lib/netcoreapp2.1/System.Linq.Dynamic.Core.xml", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.dll", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.pdb", + "lib/netcoreapp3.1/System.Linq.Dynamic.Core.xml", + "lib/netstandard1.3/System.Linq.Dynamic.Core.dll", + "lib/netstandard1.3/System.Linq.Dynamic.Core.pdb", + "lib/netstandard1.3/System.Linq.Dynamic.Core.xml", + "lib/netstandard2.0/System.Linq.Dynamic.Core.dll", + "lib/netstandard2.0/System.Linq.Dynamic.Core.pdb", + "lib/netstandard2.0/System.Linq.Dynamic.Core.xml", + "lib/netstandard2.1/System.Linq.Dynamic.Core.dll", + "lib/netstandard2.1/System.Linq.Dynamic.Core.pdb", + "lib/netstandard2.1/System.Linq.Dynamic.Core.xml", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.dll", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.pdb", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.pri", + "lib/uap10.0.10240/System.Linq.Dynamic.Core.xml", + "logo.png", + "system.linq.dynamic.core.1.6.7.nupkg.sha512", + "system.linq.dynamic.core.nuspec" + ] + }, + "System.Runtime.Caching/4.7.0": { + "sha512": "NdvNRjTPxYvIEhXQszT9L9vJhdQoX6AQ0AlhjTU+5NqFQVuacJTfhPVAvtGWNA2OJCqRiR/okBcZgMwI6MqcZg==", + "type": "package", + "path": "system.runtime.caching/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netstandard2.0/System.Runtime.Caching.dll", + "lib/netstandard2.0/System.Runtime.Caching.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard2.0/System.Runtime.Caching.dll", + "ref/netstandard2.0/System.Runtime.Caching.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net45/_._", + "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll", + "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.xml", + "system.runtime.caching.4.7.0.nupkg.sha512", + "system.runtime.caching.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Security.AccessControl/4.7.0": { + "sha512": "JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==", + "type": "package", + "path": "system.security.accesscontrol/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.AccessControl.dll", + "lib/net461/System.Security.AccessControl.dll", + "lib/net461/System.Security.AccessControl.xml", + "lib/netstandard1.3/System.Security.AccessControl.dll", + "lib/netstandard2.0/System.Security.AccessControl.dll", + "lib/netstandard2.0/System.Security.AccessControl.xml", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.AccessControl.dll", + "ref/net461/System.Security.AccessControl.dll", + "ref/net461/System.Security.AccessControl.xml", + "ref/netstandard1.3/System.Security.AccessControl.dll", + "ref/netstandard1.3/System.Security.AccessControl.xml", + "ref/netstandard1.3/de/System.Security.AccessControl.xml", + "ref/netstandard1.3/es/System.Security.AccessControl.xml", + "ref/netstandard1.3/fr/System.Security.AccessControl.xml", + "ref/netstandard1.3/it/System.Security.AccessControl.xml", + "ref/netstandard1.3/ja/System.Security.AccessControl.xml", + "ref/netstandard1.3/ko/System.Security.AccessControl.xml", + "ref/netstandard1.3/ru/System.Security.AccessControl.xml", + "ref/netstandard1.3/zh-hans/System.Security.AccessControl.xml", + "ref/netstandard1.3/zh-hant/System.Security.AccessControl.xml", + "ref/netstandard2.0/System.Security.AccessControl.dll", + "ref/netstandard2.0/System.Security.AccessControl.xml", + "ref/uap10.0.16299/_._", + "runtimes/win/lib/net46/System.Security.AccessControl.dll", + "runtimes/win/lib/net461/System.Security.AccessControl.dll", + "runtimes/win/lib/net461/System.Security.AccessControl.xml", + "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.xml", + "runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.accesscontrol.4.7.0.nupkg.sha512", + "system.security.accesscontrol.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Cryptography.Cng/4.5.0": { + "sha512": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==", + "type": "package", + "path": "system.security.cryptography.cng/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Cng.dll", + "lib/net461/System.Security.Cryptography.Cng.dll", + "lib/net462/System.Security.Cryptography.Cng.dll", + "lib/net47/System.Security.Cryptography.Cng.dll", + "lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.3/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "lib/netstandard2.0/System.Security.Cryptography.Cng.dll", + "lib/uap10.0.16299/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.dll", + "ref/net461/System.Security.Cryptography.Cng.xml", + "ref/net462/System.Security.Cryptography.Cng.dll", + "ref/net462/System.Security.Cryptography.Cng.xml", + "ref/net47/System.Security.Cryptography.Cng.dll", + "ref/net47/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.0/System.Security.Cryptography.Cng.xml", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "ref/netcoreapp2.1/System.Security.Cryptography.Cng.xml", + "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", + "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.dll", + "ref/netstandard2.0/System.Security.Cryptography.Cng.xml", + "ref/uap10.0.16299/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net462/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/net47/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netcoreapp2.1/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.cryptography.cng.4.5.0.nupkg.sha512", + "system.security.cryptography.cng.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Cryptography.ProtectedData/4.7.0": { + "sha512": "ehYW0m9ptxpGWvE4zgqongBVWpSDU/JCFD4K7krxkQwSz/sFQjEXCUqpvencjy6DYDbn7Ig09R8GFffu8TtneQ==", + "type": "package", + "path": "system.security.cryptography.protecteddata/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.ProtectedData.dll", + "lib/net461/System.Security.Cryptography.ProtectedData.dll", + "lib/net461/System.Security.Cryptography.ProtectedData.xml", + "lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll", + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.ProtectedData.dll", + "ref/net461/System.Security.Cryptography.ProtectedData.dll", + "ref/net461/System.Security.Cryptography.ProtectedData.xml", + "ref/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "ref/netstandard2.0/System.Security.Cryptography.ProtectedData.dll", + "ref/netstandard2.0/System.Security.Cryptography.ProtectedData.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net46/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.ProtectedData.xml", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.xml", + "system.security.cryptography.protecteddata.4.7.0.nupkg.sha512", + "system.security.cryptography.protecteddata.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Permissions/4.7.0": { + "sha512": "dkOV6YYVBnYRa15/yv004eCGRBVADXw8qRbbNiCn/XpdJSUXkkUeIvdvFHkvnko4CdKMqG8yRHC4ox83LSlMsQ==", + "type": "package", + "path": "system.security.permissions/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Security.Permissions.dll", + "lib/net461/System.Security.Permissions.xml", + "lib/netcoreapp3.0/System.Security.Permissions.dll", + "lib/netcoreapp3.0/System.Security.Permissions.xml", + "lib/netstandard2.0/System.Security.Permissions.dll", + "lib/netstandard2.0/System.Security.Permissions.xml", + "ref/net461/System.Security.Permissions.dll", + "ref/net461/System.Security.Permissions.xml", + "ref/netcoreapp3.0/System.Security.Permissions.dll", + "ref/netcoreapp3.0/System.Security.Permissions.xml", + "ref/netstandard2.0/System.Security.Permissions.dll", + "ref/netstandard2.0/System.Security.Permissions.xml", + "system.security.permissions.4.7.0.nupkg.sha512", + "system.security.permissions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.Principal.Windows/4.7.0": { + "sha512": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==", + "type": "package", + "path": "system.security.principal.windows/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/System.Security.Principal.Windows.dll", + "lib/net461/System.Security.Principal.Windows.dll", + "lib/net461/System.Security.Principal.Windows.xml", + "lib/netstandard1.3/System.Security.Principal.Windows.dll", + "lib/netstandard2.0/System.Security.Principal.Windows.dll", + "lib/netstandard2.0/System.Security.Principal.Windows.xml", + "lib/uap10.0.16299/_._", + "ref/net46/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.dll", + "ref/net461/System.Security.Principal.Windows.xml", + "ref/netcoreapp3.0/System.Security.Principal.Windows.dll", + "ref/netcoreapp3.0/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/System.Security.Principal.Windows.dll", + "ref/netstandard1.3/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", + "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", + "ref/netstandard2.0/System.Security.Principal.Windows.dll", + "ref/netstandard2.0/System.Security.Principal.Windows.xml", + "ref/uap10.0.16299/_._", + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.xml", + "runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll", + "runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.xml", + "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", + "runtimes/win/lib/net461/System.Security.Principal.Windows.xml", + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.xml", + "runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll", + "runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.xml", + "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", + "runtimes/win/lib/uap10.0.16299/_._", + "system.security.principal.windows.4.7.0.nupkg.sha512", + "system.security.principal.windows.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Text.Encoding.CodePages/4.7.0": { + "sha512": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", + "type": "package", + "path": "system.text.encoding.codepages/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Text.Encoding.CodePages.dll", + "lib/net461/System.Text.Encoding.CodePages.dll", + "lib/net461/System.Text.Encoding.CodePages.xml", + "lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/net461/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.xml", + "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll", + "runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.xml", + "system.text.encoding.codepages.4.7.0.nupkg.sha512", + "system.text.encoding.codepages.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Windows.Extensions/4.7.0": { + "sha512": "CeWTdRNfRaSh0pm2gDTJFwVaXfTq6Xwv/sA887iwPTneW7oMtMlpvDIO+U60+3GWTB7Aom6oQwv5VZVUhQRdPQ==", + "type": "package", + "path": "system.windows.extensions/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp3.0/System.Windows.Extensions.dll", + "lib/netcoreapp3.0/System.Windows.Extensions.xml", + "ref/netcoreapp3.0/System.Windows.Extensions.dll", + "ref/netcoreapp3.0/System.Windows.Extensions.xml", + "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.dll", + "runtimes/win/lib/netcoreapp3.0/System.Windows.Extensions.xml", + "system.windows.extensions.4.7.0.nupkg.sha512", + "system.windows.extensions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Complex.Application/1.0.0": { + "type": "project", + "path": "../Complex.Application/Complex.Application.csproj", + "msbuildProject": "../Complex.Application/Complex.Application.csproj" + }, + "Complex.Domain/1.0.0": { + "type": "project", + "path": "../Complex.Domain/Complex.Domain.csproj", + "msbuildProject": "../Complex.Domain/Complex.Domain.csproj" + } + }, + "projectFileDependencyGroups": { + "net6.0": [ + "Complex.Application >= 1.0.0", + "Flurl.Http >= 3.2.4", + "Microsoft.EntityFrameworkCore >= 6.0.3", + "Microsoft.EntityFrameworkCore.Design >= 6.0.3", + "Microsoft.EntityFrameworkCore.SqlServer >= 6.0.3", + "Microsoft.EntityFrameworkCore.Tools >= 6.0.3", + "Pomelo.EntityFrameworkCore.MySql >= 6.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\Mohammad\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj", + "projectName": "Complex.Infrastructure", + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj", + "packagesPath": "C:\\Users\\Mohammad\\.nuget\\packages\\", + "outputPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Mohammad\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": { + "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj": { + "projectPath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Application\\Complex.Application.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "dependencies": { + "Flurl.Http": { + "target": "Package", + "version": "[3.2.4, )" + }, + "Microsoft.EntityFrameworkCore": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.Design": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.SqlServer": { + "target": "Package", + "version": "[6.0.3, )" + }, + "Microsoft.EntityFrameworkCore.Tools": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", + "suppressParent": "All", + "target": "Package", + "version": "[6.0.3, )" + }, + "Pomelo.EntityFrameworkCore.MySql": { + "target": "Package", + "version": "[6.0.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/Complex.Infrastructure/obj/project.nuget.cache b/Complex.Infrastructure/obj/project.nuget.cache new file mode 100644 index 0000000..e617ab4 --- /dev/null +++ b/Complex.Infrastructure/obj/project.nuget.cache @@ -0,0 +1,59 @@ +{ + "version": 2, + "dgSpecHash": "Y74CfPO/n6E=", + "success": true, + "projectFilePath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Infrastructure\\Complex.Infrastructure.csproj", + "expectedPackageFiles": [ + "C:\\Users\\Mohammad\\.nuget\\packages\\automapper\\11.0.1\\automapper.11.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\flurl\\3.0.6\\flurl.3.0.6.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\flurl.http\\3.2.4\\flurl.http.3.2.4.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\humanizer.core\\2.8.26\\humanizer.core.2.8.26.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore\\6.0.3\\microsoft.entityframeworkcore.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\6.0.3\\microsoft.entityframeworkcore.abstractions.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\6.0.3\\microsoft.entityframeworkcore.analyzers.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.design\\6.0.3\\microsoft.entityframeworkcore.design.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\6.0.3\\microsoft.entityframeworkcore.relational.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.sqlserver\\6.0.3\\microsoft.entityframeworkcore.sqlserver.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\6.0.3\\microsoft.entityframeworkcore.tools.6.0.3.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\6.0.0\\microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.caching.memory\\6.0.1\\microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\6.0.0\\microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.0\\microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.logging\\6.0.0\\microsoft.extensions.logging.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.0\\microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.8.0\\microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identitymodel.logging\\6.8.0\\microsoft.identitymodel.logging.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.8.0\\microsoft.identitymodel.protocols.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.8.0\\microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.8.0\\microsoft.identitymodel.tokens.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\microsoft.win32.systemevents\\4.7.0\\microsoft.win32.systemevents.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\mysqlconnector\\2.0.0\\mysqlconnector.2.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\6.0.0\\pomelo.entityframeworkcore.mysql.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.configuration.configurationmanager\\4.7.0\\system.configuration.configurationmanager.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.drawing.common\\4.7.0\\system.drawing.common.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.8.0\\system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.linq.dynamic.core\\1.6.7\\system.linq.dynamic.core.1.6.7.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.security.accesscontrol\\4.7.0\\system.security.accesscontrol.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.7.0\\system.security.cryptography.protecteddata.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.security.permissions\\4.7.0\\system.security.permissions.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.text.encoding.codepages\\4.7.0\\system.text.encoding.codepages.4.7.0.nupkg.sha512", + "C:\\Users\\Mohammad\\.nuget\\packages\\system.windows.extensions\\4.7.0\\system.windows.extensions.4.7.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/Complex.sln b/Complex.sln new file mode 100644 index 0000000..14d9b76 --- /dev/null +++ b/Complex.sln @@ -0,0 +1,43 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32319.34 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Complex.Application", "Complex.Application\Complex.Application.csproj", "{2D82DF39-0B01-4EE8-A123-345865CD153E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Complex.Domain", "Complex.Domain\Complex.Domain.csproj", "{84DBC285-B4C4-4DB8-9D5C-43C424F360C8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Complex.Infrastructure", "Complex.Infrastructure\Complex.Infrastructure.csproj", "{66DCD507-A29D-4980-9EF2-B6E51BC1EAD4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Complex.EndPoint", "Complex.EndPoint\Complex.EndPoint.csproj", "{7136066A-2238-481B-A4AD-BCE811506901}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2D82DF39-0B01-4EE8-A123-345865CD153E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D82DF39-0B01-4EE8-A123-345865CD153E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D82DF39-0B01-4EE8-A123-345865CD153E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D82DF39-0B01-4EE8-A123-345865CD153E}.Release|Any CPU.Build.0 = Release|Any CPU + {84DBC285-B4C4-4DB8-9D5C-43C424F360C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {84DBC285-B4C4-4DB8-9D5C-43C424F360C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {84DBC285-B4C4-4DB8-9D5C-43C424F360C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {84DBC285-B4C4-4DB8-9D5C-43C424F360C8}.Release|Any CPU.Build.0 = Release|Any CPU + {66DCD507-A29D-4980-9EF2-B6E51BC1EAD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {66DCD507-A29D-4980-9EF2-B6E51BC1EAD4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66DCD507-A29D-4980-9EF2-B6E51BC1EAD4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {66DCD507-A29D-4980-9EF2-B6E51BC1EAD4}.Release|Any CPU.Build.0 = Release|Any CPU + {7136066A-2238-481B-A4AD-BCE811506901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7136066A-2238-481B-A4AD-BCE811506901}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7136066A-2238-481B-A4AD-BCE811506901}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7136066A-2238-481B-A4AD-BCE811506901}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3300D1A5-01B6-4F3C-A85F-6ECFB5851E63} + EndGlobalSection +EndGlobal diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..31dad75 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +# مرحله 1: Build +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /app + +# کپی فایل‌های پروژه به دایرکتوری کاری +COPY ["Complex.EndPoint/Complex.EndPoint.csproj", "Complex.EndPoint/"] + +# بازیابی پکیج‌ها +RUN dotnet restore "Complex.EndPoint/Complex.EndPoint.csproj" + +# کپی بقیه کدهای پروژه +COPY . . + +# ساخت پروژه با حالت Release +RUN dotnet publish "Complex.EndPoint/Complex.EndPoint.csproj" -c Release -o /app/publish + +# مرحله 2: Runtime +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime +WORKDIR /app + +# کپی خروجی Publish از مرحله Build +COPY --from=build /app/publish . + +EXPOSE 80 +# تعیین نقطه شروع کانتینر +ENTRYPOINT ["dotnet", "Complex.EndPoint.dll"] + +# مشخص کردن پورت (اگر پروژه روی 80 یا 5000 است آن را تنظیم کن) +