Compare commits

...

21 Commits

Author SHA1 Message Date
dee6bc7bef feat: add person name and insert time to announcement DTO
- Added PersonName property to AnnouncementDto to display person's full name
- Added lookup logic to fetch person names from Persons table based on phone numbers
- Added InsertTime shadow property retrieval from EF Core to display creation date
- Updated model snapshot with new shadow properties (InsertTime, IsRemoved, RemoveTime, UpdateTime) for Chat entity
2026-06-11 19:42:58 +03:30
861a98668e feat: add Auditable attribute to Chat entity and create migration
Added [Auditable] attribute to the Chat entity to enable auditing functionality. Created a new migration (AddAuditableToChat) that adds InsertTime, IsRemoved, and RemoveTime columns to the Chat table, along with the necessary database schema updates to support the auditing behavior.
2026-06-11 19:42:44 +03:30
e4fe2389a4 feat: add unit filtering and improve unit info handling in charge cycles
- Add optional UnitId parameter to CostCyclsList method for filtering cycles by specific unit
- Replace UnitIds/UnitNames lists with structured UnitInfoDto containing Id and Name
- Clean unit names by removing "GUID#" prefix when present
- Update CostCycleDto to use UnitInfoDto list instead of separate Id and Name lists
- Fix unit assignment logic in Add and Edit methods to use new DTO structure
2026-06-10 20:17:46 +03:30
3bc209839e refactor: extract DateTime.Now conversion to variable for reuse 2026-06-09 23:50:13 +03:30
f2880a2167 feat(dashboard): add optional CommonRequestDto parameter to GetManagerSummary
Add optional CommonRequestDto parameter to GetManagerSummary method in both service interface and implementation, and update the controller endpoint to accept it as a query parameter. This allows passing common request data (e.g., pagination, filtering) to the dashboard summary retrieval.
2026-06-09 23:35:16 +03:30
adcee56ce8 fix: update migration timestamp and correct city IDs in data seeder
- Update EF Core migration history timestamp from 20260608225159 to 20260608225845
- Fix CityId values in Complex seed data to use new composite format (provinceId*100+cityId)
  - Tehran: 1 → 801 (provinceId=8, cityId=1)
  - Isfahan: 3 → 401 (provinceId=4, cityId=1)
2026-06-09 02:45:46 +03:30
0e1b0345ec feat: disable identity auto-generation for reference/lookup tables
Reference tables (Province, City, BasicTable, IncomeCostTitle, UnitState, Transaction) require stable, manually assigned IDs that are cross-referenced by other entities. Identity auto-generation is disabled to allow explicit ID assignment from seed data.
2026-06-09 02:40:13 +03:30
6644db7e78 fix(db): update migration and configure many-to-many relationships to avoid cascade paths
- Regenerated InitialCreate migration to reflect new entity configurations
- Configured many-to-many relationship between CostCycle and Unit with NoAction on Unit side to prevent multiple cascade paths
- Updated UnitCost relationships: Cascade from CostCycle, NoAction from Unit
- Removed commented-out global filter code and replaced with explicit relationship configurations
2026-06-09 02:23:09 +03:30
569e39b58d Fix 'Invalid object name Provinces' error - reset migrations and switch to Migrate() 2026-06-09 02:13:29 +03:30
7a4190ca13 feat: add Province and City DbSets to ComplexDBContext 2026-06-09 01:58:05 +03:30
7e54818332 fix: use EnsureCreated instead of Migrate to handle missing initial migration 2026-06-09 01:52:29 +03:30
2c87b5bd49 fix: correct CORS middleware name and remove unused TLS certresolver comment
The CORS middleware was incorrectly referencing `webapp-cors` for the `accessControlAllowCredentials` header, which should use `complex-cors` to match the actual middleware name. Also removed a commented-out TLS certresolver line that was no longer needed.
2026-06-09 01:44:29 +03:30
13deea7f3f fix(docker-compose): rename connection string environment variable
Updated the connection string environment variable from `ConnectionStrings__Default` to `ConnectionStrings__ComplexConnection` to align with the application's expected configuration key.
2026-06-09 01:41:49 +03:30
3536ff62c1 fix: update manager phone number in seed data from 09120000001 to 09354600904
Changed the manager's mobile number across all seed data entries to reflect the correct contact information for the complex manager.
2026-06-09 01:40:26 +03:30
56f20110ff chore: remove tracked bin/obj build artifacts from git index 2026-06-09 01:35:24 +03:30
8be6133661 feat: add DataSeeder for reference/test data and auto-migration on startup 2026-06-09 01:31:37 +03:30
f101085b52 feat: add Dashboard service with manager summary statistics 2026-06-09 01:30:19 +03:30
c38f2de9c4 feat: add Announcement service with GetAnnouncements and SendAnnouncement 2026-06-09 01:30:12 +03:30
0caf9d58b8 feat: add Transaction service with UnitsByTransStateList and PayCosts 2026-06-09 01:30:05 +03:30
e2afe8af9a feat: add Person search endpoint with SearchPersons method 2026-06-09 01:29:57 +03:30
9a42b96f41 fix .gitignore to exclude nested bin/obj directories 2026-06-09 01:29:30 +03:30
158 changed files with 2995 additions and 7420 deletions

2
.gitignore vendored
View File

@@ -1,6 +1,8 @@
# Build outputs # Build outputs
/bin/ /bin/
/obj/ /obj/
**/bin/
**/obj/
/out/ /out/
/output/ /output/
/publish/ /publish/

View File

@@ -0,0 +1,123 @@
using Complex.Application;
using Complex.Common.Dto;
using Complex.Domain.Entities;
using Microsoft.EntityFrameworkCore;
namespace Complex.Application.Services.Announcement
{
public interface IAnnouncementService
{
ResultDto<List<AnnouncementDto>> GetAnnouncements(Guid complexId, int page = 1, int pageSize = 20);
ResultDto<long> SendAnnouncement(Guid complexId, string body, byte? chatTypeId, string userPhone);
}
public class AnnouncementService : IAnnouncementService
{
private readonly IComplexDBContext _complexDBContext;
public AnnouncementService(IComplexDBContext complexDBContext)
{
_complexDBContext = complexDBContext;
}
public ResultDto<List<AnnouncementDto>> GetAnnouncements(Guid complexId, int page = 1, int pageSize = 20)
{
var query = _complexDBContext.Chats
.Where(c => c.ComplexId == complexId)
.OrderByDescending(c => c.Id);
var totalCount = query.Count();
var chats = query
.Skip((page - 1) * pageSize)
.Take(pageSize)
.ToList();
// Get unique phone numbers to look up person names
var phoneNumbers = chats
.Select(c => c.PersonMobileNumber)
.Where(p => p != null)
.Distinct()
.ToList();
var personNames = _complexDBContext.Persons
.Where(p => phoneNumbers.Contains(p.Id))
.ToDictionary(p => p.Id, p => $"{p.FirstName} {p.LastName}".Trim());
var result = chats.Select(c =>
{
personNames.TryGetValue(c.PersonMobileNumber, out var personName);
// Read InsertTime from EF Core shadow property
var insertTimeEntry = _complexDBContext.Entry(c).Property("InsertTime");
var insertTime = insertTimeEntry?.CurrentValue as DateTime?;
return new AnnouncementDto
{
Id = c.Id,
ComplexId = c.ComplexId,
PersonMobileNumber = c.PersonMobileNumber,
PersonName = personName,
Body = c.Body,
ChatTypeId = c.ChatTypeId,
InsertTime = insertTime.HasValue
? insertTime.Value.ToString("yyyy/MM/dd HH:mm")
: null
};
}).ToList();
return new ResultDto<List<AnnouncementDto>>
{
Data = result,
IsSuccess = true,
RowCount = totalCount
};
}
public ResultDto<long> SendAnnouncement(Guid complexId, string body, byte? chatTypeId, string userPhone)
{
var chat = new Chat
{
ComplexId = complexId,
Body = body,
ChatTypeId = chatTypeId ?? 0,
PersonMobileNumber = userPhone
};
_complexDBContext.Chats.Add(chat);
_complexDBContext.SaveChanges();
return new ResultDto<long>
{
Data = chat.Id,
IsSuccess = true,
Message = "ثبت با موفقیت انجام شد"
};
}
}
public class AnnouncementDto
{
public long Id { get; set; }
public Guid ComplexId { get; set; }
public string? PersonMobileNumber { get; set; }
public string? PersonName { get; set; }
public string? Body { get; set; }
public byte? ChatTypeId { get; set; }
public string? InsertTime { get; set; }
}
public class AnnouncementListRequest
{
public Guid ComplexId { get; set; }
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 20;
}
public class SendAnnouncementRequest
{
public Guid ComplexId { get; set; }
public string Body { get; set; }
public byte? ChatTypeId { get; set; }
}
}

View File

@@ -52,7 +52,7 @@ namespace Complex.Application.Services.Basic
/// <param name="IncomeCostTitleId"></param> /// <param name="IncomeCostTitleId"></param>
/// <returns></returns> /// <returns></returns>
public ResultDto<List<CostCycleDto>> CostCyclsList(Guid ComplexId, DateOnly? StartDate = null, public ResultDto<List<CostCycleDto>> CostCyclsList(Guid ComplexId, DateOnly? StartDate = null,
DateOnly? EndDate = null, int? IncomeCostTitleId = null) DateOnly? EndDate = null, int? IncomeCostTitleId = null, Guid? UnitId = null)
{ {
if (IncomeCostTitleId.HasValue && StartDate.HasValue) if (IncomeCostTitleId.HasValue && StartDate.HasValue)
StartDate = GetStartOfMonth(StartDate.Value); StartDate = GetStartOfMonth(StartDate.Value);
@@ -70,6 +70,9 @@ namespace Complex.Application.Services.Basic
else/*مدیریت شارژ ها فقط*/ else/*مدیریت شارژ ها فقط*/
ChargeCycleQuery = ChargeCycleQuery.Where(c => c.IncomeCostTitleId == null); ChargeCycleQuery = ChargeCycleQuery.Where(c => c.IncomeCostTitleId == null);
if (UnitId.HasValue)
ChargeCycleQuery = ChargeCycleQuery.Where(c => c.Units == null || c.Units.Any(u => u.Id == UnitId.Value));
var ChargeCycleList = ChargeCycleQuery.ToList().Select(c => new CostCycleDto var ChargeCycleList = ChargeCycleQuery.ToList().Select(c => new CostCycleDto
{ {
ComplexId = c.ComplexId, ComplexId = c.ComplexId,
@@ -80,8 +83,18 @@ namespace Complex.Application.Services.Basic
StartDate = c.StartDate, StartDate = c.StartDate,
Id = c.Id, Id = c.Id,
Title = c.Title, Title = c.Title,
UnitIds = c.Units?.Select(u => u.Id).ToList(), Units = c.Units?.Select(u =>
UnitNames = c.Units?.Select(u => u.Id + "#" + u.UnitName).ToList(), {
var name = u.UnitName ?? "";
// Some units store "GUID#Name" format; extract just the name part
var hashIndex = name.IndexOf('#');
var cleanName = hashIndex >= 0 ? name[(hashIndex + 1)..] : name;
return new UnitInfoDto
{
Id = u.Id,
Name = cleanName
};
}).ToList(),
IncomeCostTitleId = c.IncomeCostTitleId, IncomeCostTitleId = c.IncomeCostTitleId,
IncomeCostTitle = c.IncomeCostTitle?.Title IncomeCostTitle = c.IncomeCostTitle?.Title
}).ToList(); }).ToList();
@@ -107,9 +120,12 @@ namespace Complex.Application.Services.Basic
cycle = _mapper.Map<CostCycle>(costCycleDto); cycle = _mapper.Map<CostCycle>(costCycleDto);
cycle.IncomeCostTitleId = costCycleDto.IncomeCostTitleId; cycle.IncomeCostTitleId = costCycleDto.IncomeCostTitleId;
if (costCycleDto.UnitIds != null) if (costCycleDto.Units != null)
cycle.Units = _complexDBContext.Units.Where(u => costCycleDto.UnitIds.Contains(u.Id) {
var unitIds = costCycleDto.Units.Select(u => u.Id).ToList();
cycle.Units = _complexDBContext.Units.Where(u => unitIds.Contains(u.Id)
&& u.ComplexId == costCycleDto.ComplexId).ToList(); && u.ComplexId == costCycleDto.ComplexId).ToList();
}
foreach (var u in cycle.Units) foreach (var u in cycle.Units)
{ {
@@ -139,8 +155,11 @@ namespace Complex.Application.Services.Basic
costCycleDto.StartDate = GetStartOfMonth(costCycleDto.StartDate); costCycleDto.StartDate = GetStartOfMonth(costCycleDto.StartDate);
var newCycle = _mapper.Map<CostCycle>(costCycleDto); var newCycle = _mapper.Map<CostCycle>(costCycleDto);
if (costCycleDto.UnitIds != null) if (costCycleDto.Units != null)
newCycle.Units = _complexDBContext.Units.Where(u => costCycleDto.UnitIds.Contains(u.Id) && costCycleDto.ComplexId == u.ComplexId).ToList(); {
var unitIds = costCycleDto.Units.Select(u => u.Id).ToList();
newCycle.Units = _complexDBContext.Units.Where(u => unitIds.Contains(u.Id) && costCycleDto.ComplexId == u.ComplexId).ToList();
}
//if(newCycle.Units==null) //if(newCycle.Units==null)
//{ //{
@@ -381,6 +400,12 @@ namespace Complex.Application.Services.Basic
public string? CostTitle { get; set; } public string? CostTitle { get; set; }
public DateOnly? PaymentDate { set; get; } public DateOnly? PaymentDate { set; get; }
} }
public class UnitInfoDto
{
public Guid Id { set; get; }
public string Name { set; get; }
}
public class CostCycleDto public class CostCycleDto
{ {
public Guid Id { set; get; } public Guid Id { set; get; }
@@ -400,13 +425,9 @@ namespace Complex.Application.Services.Basic
/// <summary> /// <summary>
/// اگر برای واحدهای خاصی بود /// اگر برای واحدهای خاصی بود
/// </summary> /// </summary>
public virtual List<UnitInfoDto>? Units { set; get; }
/// <summary> /// <summary>
/// اگر برای واحدهای خاصی بود /// null یعنی شارژ
/// </summary>
public virtual List<Guid>? UnitIds { set; get; }
public virtual List<string>? UnitNames { set; get; }
/// <summary>
/// null یعنی شارژ
/// </summary> /// </summary>
public int? IncomeCostTitleId { set; get; } public int? IncomeCostTitleId { set; get; }
public string? IncomeCostTitle { set; get; } public string? IncomeCostTitle { set; get; }

View File

@@ -0,0 +1,70 @@
using Complex.Application;
using Complex.Application.Common;
using Complex.Common.Dto;
using Complex.Domain.Entities;
using Microsoft.EntityFrameworkCore;
namespace Complex.Application.Services.Dashboard
{
public interface IDashboardService
{
ResultDto<DashboardSummaryDto> GetManagerSummary(Guid complexId, CommonRequestDto? commonRequest = null);
}
public class DashboardService : IDashboardService
{
private readonly IComplexDBContext _complexDBContext;
public DashboardService(IComplexDBContext complexDBContext)
{
_complexDBContext = complexDBContext;
}
public ResultDto<DashboardSummaryDto> GetManagerSummary(Guid complexId, CommonRequestDto? commonRequest = null)
{
var units = _complexDBContext.Units.Where(u => u.ComplexId == complexId);
var totalUnits = units.Count();
var ownerUnits = units.Count(u => u.OwnerId != null);
var tenantUnits = units.Count(u => u.TenantId != null);
var today = DateOnly.FromDateTime(DateTime.Now);
var activeCostCycles = _complexDBContext.CostCycles
.Count(c => c.ComplexId == complexId && c.EndDate >= today);
var unitPersonMobileNumbers = units
.Where(u => u.OwnerId != null || u.TenantId != null)
.Select(u => u.OwnerId)
.Union(units.Where(u => u.TenantId != null).Select(u => u.TenantId))
.Distinct()
.ToList();
var totalPersons = _complexDBContext.Persons
.Count(p => unitPersonMobileNumbers.Contains(p.Id));
var result = new DashboardSummaryDto
{
TotalUnits = totalUnits,
OwnerUnits = ownerUnits,
TenantUnits = tenantUnits,
ActiveCostCycles = activeCostCycles,
TotalPersons = totalPersons
};
return new ResultDto<DashboardSummaryDto>
{
Data = result,
IsSuccess = true
};
}
}
public class DashboardSummaryDto
{
public int TotalUnits { get; set; }
public int OwnerUnits { get; set; }
public int TenantUnits { get; set; }
public int ActiveCostCycles { get; set; }
public int TotalPersons { get; set; }
}
}

View File

@@ -15,6 +15,7 @@ namespace Complex.Application.PersonService
public ResultDto<string> InsertPerson(PersonDto person); public ResultDto<string> InsertPerson(PersonDto person);
public ResultDto<bool> EditPerson(PersonDto person); public ResultDto<bool> EditPerson(PersonDto person);
public ResultDto<List<PersonDto>> GetAllPersons(PersonDto personSearchObj); public ResultDto<List<PersonDto>> GetAllPersons(PersonDto personSearchObj);
public ResultDto<List<PersonDto>> SearchPersons(string? searchTerm);
} }
public class PersonService : IPersonService public class PersonService : IPersonService
{ {
@@ -26,6 +27,33 @@ namespace Complex.Application.PersonService
_mapper = mapper; _mapper = mapper;
} }
public ResultDto<List<PersonDto>> SearchPersons(string? searchTerm)
{
var query = _complexDBContext.Persons.AsQueryable();
if (!string.IsNullOrEmpty(searchTerm))
{
query = query.Where(p =>
p.FirstName.Contains(searchTerm) ||
p.LastName.Contains(searchTerm) ||
p.Id.Contains(searchTerm));
}
var result = query.Select(p => new PersonDto
{
MobileNumber = p.Id,
FirstName = p.FirstName,
LastName = p.LastName,
Gender = p.Gender,
Avatar = p.Avatar
}).ToList();
return new ResultDto<List<PersonDto>>
{
Data = result,
IsSuccess = true,
RowCount = result.Count
};
}
public ResultDto<List<PersonDto>> GetAllPersons(PersonDto personSearchObj) public ResultDto<List<PersonDto>> GetAllPersons(PersonDto personSearchObj)
{ {
var persons = _complexDBContext.ComplexPersons.Where(u => u.ComplexId == personSearchObj.ComplexId).Select(cp => cp.PersonMobileNumber); var persons = _complexDBContext.ComplexPersons.Where(u => u.ComplexId == personSearchObj.ComplexId).Select(cp => cp.PersonMobileNumber);

View File

@@ -16,12 +16,8 @@ namespace Complex.Application.Services.TransactionServices
{ {
public interface ITransactionService public interface ITransactionService
{ {
/* ResultDto<List<TransactionDto>> UnitsByTransStateList(Guid complexId, Guid? UnitId, CommonRequestDto commonRequestDto);
گزارش پرداختی های یک واحد ResultDto PayCosts(List<long> UnitCostIds, Guid UnitId, long Amount, string UserPhone, string Description);
گزارش وضعیت پرداخت واحدهای یک مجتمع
ثبت یک تراکنش شارژ
*/
} }
public class TransactionService : ITransactionService public class TransactionService : ITransactionService

View File

@@ -149,7 +149,7 @@ namespace Complex.Application.Complex
//وقتی واحد تازه ثبت شده پس در مدیریت شارژ قابلیت ثبت اختصاصی برای خودش نداشته پس باید شارژ عمومی برایش تعریف شود //وقتی واحد تازه ثبت شده پس در مدیریت شارژ قابلیت ثبت اختصاصی برای خودش نداشته پس باید شارژ عمومی برایش تعریف شود
// اگر خواست میتواند برایش به صورت اختصاصی هم ثبت کند که اون موقع برایش محاسبه مجدد خواهد شد // اگر خواست میتواند برایش به صورت اختصاصی هم ثبت کند که اون موقع برایش محاسبه مجدد خواهد شد
var costCycleDto = _costService.CostCyclsList(unit.ComplexId, nowDate, nowDate, null).Data var costCycleDto = _costService.CostCyclsList(unit.ComplexId, nowDate, nowDate, null).Data
.FirstOrDefault(c => c.UnitIds == null); .FirstOrDefault(c => c.Units == null);
if (costCycleDto != null) if (costCycleDto != null)
{ {
//var costCycle = new CostCycle //var costCycle = new CostCycle

View File

@@ -1,326 +0,0 @@
{
"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": ""
}
}
}

View File

@@ -1,323 +0,0 @@
{
"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": ""
}
}
}

View File

@@ -1,160 +0,0 @@
{
"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"
}
}
}
}
}

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mohammad\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Mohammad\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
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.

View File

@@ -1 +0,0 @@
1eda3f8ccd818f50342015e8b87e35664c973fb402e1aa8a79d0426b367d67ca

View File

@@ -1,15 +0,0 @@
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 =

View File

@@ -1,8 +0,0 @@
// <auto-generated/>
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;

View File

@@ -1 +0,0 @@
e1b9312e8d3e324bc23b2c275d0084af903e30db2cdd7a1cd94e2abd6a084e7e

View File

@@ -1,30 +0,0 @@
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

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
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.

View File

@@ -1 +0,0 @@
f5a5886ee460af73395f17d81ba054deef236f12

View File

@@ -1,10 +0,0 @@
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\

View File

@@ -1,8 +0,0 @@
// <auto-generated/>
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;

View File

@@ -1 +0,0 @@
03862b89a1a3273486ee639781a415f4002d1a6b

View File

@@ -1,30 +0,0 @@
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

View File

@@ -1,912 +0,0 @@
{
"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"
}
}
}
}

View File

@@ -1,27 +0,0 @@
{
"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": []
}

View File

@@ -2,6 +2,7 @@
namespace Complex.Domain.Entities namespace Complex.Domain.Entities
{ {
[Auditable]
public class Chat:BaseEntity<long> public class Chat:BaseEntity<long>
{ {
public Guid ComplexId { set; get; } public Guid ComplexId { set; get; }

View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
namespace Complex.Domain.Entities namespace Complex.Domain.Entities
{ {
[Table("Cities")]
public partial class City public partial class City
{ {
public City() public City()

View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
namespace Complex.Domain.Entities namespace Complex.Domain.Entities
{ {
[Table("Provinces")]
public partial class Province public partial class Province
{ {
public Province() public Province()

View File

@@ -1,23 +0,0 @@
{
"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": ""
}
}
}

View File

@@ -1,23 +0,0 @@
{
"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": ""
}
}
}

View File

@@ -1,73 +0,0 @@
{
"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"
}
}
}
}
}

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mohammad\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Mohammad\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
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.

View File

@@ -1 +0,0 @@
e5edcc38b954143fc9e59410b3854f9bf82f0134c5a534de08df972cbb25636e

View File

@@ -1,15 +0,0 @@
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 =

View File

@@ -1,8 +0,0 @@
// <auto-generated/>
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;

View File

@@ -1 +0,0 @@
33565243eb6502220226a12b571d3d91ca03ef3016562e97785d01f76dcf18cc

View File

@@ -1,23 +0,0 @@
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

View File

@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
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.

View File

@@ -1 +0,0 @@
586388c552e98beb764e13d3fceb3348f631d669

View File

@@ -1,10 +0,0 @@
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\

View File

@@ -1,8 +0,0 @@
// <auto-generated/>
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;

View File

@@ -1 +0,0 @@
0de788fab3085fd5cea4eb06c01160e2e352db2d

View File

@@ -1,24 +0,0 @@
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

View File

@@ -1,79 +0,0 @@
{
"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"
}
}
}
}

View File

@@ -1,8 +0,0 @@
{
"version": 2,
"dgSpecHash": "v3kKolJskc4=",
"success": true,
"projectFilePath": "D:\\Data\\Projects\\Nabak\\Complex\\Complex.Domain\\Complex.Domain.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@@ -0,0 +1,34 @@
using Complex.Application.Services.Announcement;
using Complex.Common.Dto;
using Complex.EndPoint.Utility;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Complex.EndPoint.Controllers
{
[ApiController]
[ApiVersion("1")]
[Route("api/v{version:apiVersion}/[controller]/[action]")]
[Authorize]
public class AnnouncementController : Controller
{
private readonly IAnnouncementService _announcementService;
public AnnouncementController(IAnnouncementService announcementService)
{
_announcementService = announcementService;
}
[HttpPost]
public ResultDto<List<AnnouncementDto>> GetAnnouncements(AnnouncementListRequest request)
{
return _announcementService.GetAnnouncements(request.ComplexId, request.Page, request.PageSize);
}
[HttpPost]
public ResultDto<long> SendAnnouncement(SendAnnouncementRequest request)
{
return _announcementService.SendAnnouncement(request.ComplexId, request.Body, request.ChatTypeId, User.GetUserId());
}
}
}

View File

@@ -0,0 +1,31 @@
using Complex.Application.Common;
using Complex.Application.Services.Dashboard;
using Complex.Common.Dto;
using Complex.EndPoint.Utility;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Complex.EndPoint.Controllers
{
[ApiController]
[ApiVersion("1")]
[Route("api/v{version:apiVersion}/[controller]/[action]")]
[Authorize]
public class DashboardController : Controller
{
private readonly IDashboardService _dashboardService;
public DashboardController(IDashboardService dashboardService)
{
_dashboardService = dashboardService;
}
[HttpGet]
public ResultDto<DashboardSummaryDto> ManagerSummary(
Guid complexId,
[FromQuery] CommonRequestDto? commonRequest)
{
return _dashboardService.GetManagerSummary(complexId, commonRequest);
}
}
}

View File

@@ -41,11 +41,12 @@ namespace Complex.EndPoint.Controllers
/// <param name="EndDate"></param> /// <param name="EndDate"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ResultDto<List<CostCycleDto>> CostCyclsList([FromForm] Guid ComplexId, [FromForm] DateTime? StartDate = null, [FromForm] DateTime? EndDate = null) public ResultDto<List<CostCycleDto>> CostCyclsList([FromForm] Guid ComplexId, [FromForm] DateTime? StartDate = null, [FromForm] DateTime? EndDate = null, [FromForm] Guid? UnitId = null)
{ {
return _costCycleService.CostCyclsList(ComplexId, return _costCycleService.CostCyclsList(ComplexId,
!StartDate.HasValue ? null : DateOnly.FromDateTime(StartDate.Value), !StartDate.HasValue ? null : DateOnly.FromDateTime(StartDate.Value),
!EndDate.HasValue ? null : DateOnly.FromDateTime(EndDate.Value)); !EndDate.HasValue ? null : DateOnly.FromDateTime(EndDate.Value),
UnitId: UnitId);
} }
/// <summary> /// <summary>
/// بدهی یک واحد /// بدهی یک واحد

View File

@@ -37,5 +37,14 @@ namespace Complex.EndPoint.Controllers
var persons = _personService.GetAllPersons(personSearchObj); var persons = _personService.GetAllPersons(personSearchObj);
return persons; return persons;
} }
[HttpPost]
public ResultDto<List<PersonDto>> SearchPersons([FromBody] PersonSearchRequest request)
{
return _personService.SearchPersons(request.SearchTerm);
}
}
public class PersonSearchRequest
{
public string? SearchTerm { get; set; }
} }
} }

View File

@@ -0,0 +1,50 @@
using Complex.Application.Common;
using Complex.Application.Services.TransactionServices;
using Complex.Common.Dto;
using Complex.EndPoint.Utility;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Complex.EndPoint.Controllers
{
[ApiController]
[ApiVersion("1")]
[Route("api/v{version:apiVersion}/[controller]/[action]")]
[Authorize]
public class TransactionController : Controller
{
private readonly ITransactionService _transactionService;
public TransactionController(ITransactionService transactionService)
{
_transactionService = transactionService;
}
[HttpPost]
public ResultDto<List<TransactionDto>> TransactionsList(TransactionListRequest request)
{
return _transactionService.UnitsByTransStateList(request.ComplexId, request.UnitId, request.CommonRequest);
}
[HttpPost]
public ResultDto PayCosts(PayCostsRequest request)
{
return _transactionService.PayCosts(request.UnitCostIds, request.UnitId, request.Amount, User.GetUserId(), request.Description);
}
}
public class TransactionListRequest
{
public Guid ComplexId { get; set; }
public Guid? UnitId { get; set; }
public CommonRequestDto CommonRequest { get; set; }
}
public class PayCostsRequest
{
public List<long> UnitCostIds { get; set; }
public Guid UnitId { get; set; }
public long Amount { get; set; }
public string? Description { get; set; }
}
}

View File

@@ -19,6 +19,9 @@ using Swashbuckle.AspNetCore.SwaggerGen;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using WebApi.Bugeto.Models.Services.Validator; using WebApi.Bugeto.Models.Services.Validator;
using Complex.Application.Services.TransactionServices;
using Complex.Application.Services.Announcement;
using Complex.Application.Services.Dashboard;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
builder.Logging.ClearProviders(); builder.Logging.ClearProviders();
@@ -40,6 +43,9 @@ builder.Services.AddScoped<ISiteAccountlService, SiteAccountlService>();
builder.Services.AddScoped<IUserTokenService, UserTokenService>(); builder.Services.AddScoped<IUserTokenService, UserTokenService>();
builder.Services.AddScoped<ISendUserMessage, SmsService>(); builder.Services.AddScoped<ISendUserMessage, SmsService>();
builder.Services.AddScoped<ITokenValidator, TokenValidate>(); builder.Services.AddScoped<ITokenValidator, TokenValidate>();
builder.Services.AddScoped<ITransactionService, TransactionService>();
builder.Services.AddScoped<IAnnouncementService, AnnouncementService>();
builder.Services.AddScoped<IDashboardService, DashboardService>();
//eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIqQCFJVE15QXpNX19fSVRPeGtETSIsIk5hbWUiOiIqQCE4S18xXzFfRm1kcllYWV8xXzFfIiwiRmFtaWx5IjoiKkAhKkAhQWpiWFlfMV8xX011ZHJZSExfMV8xXyIsIm5iZiI6MTcwNjg4ODQyOCwiZXhwIjoxNzA5NDgwNDI4LCJpc3MiOiJuYWJha3NvZnQuaXIiLCJhdWQiOiJDb21wbGV4In0.Hz7fF-bRW3KouPOGgc0p5UVCMQmKkroKzGLdmZeXZeg //eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiIqQCFJVE15QXpNX19fSVRPeGtETSIsIk5hbWUiOiIqQCE4S18xXzFfRm1kcllYWV8xXzFfIiwiRmFtaWx5IjoiKkAhKkAhQWpiWFlfMV8xX011ZHJZSExfMV8xXyIsIm5iZiI6MTcwNjg4ODQyOCwiZXhwIjoxNzA5NDgwNDI4LCJpc3MiOiJuYWJha3NvZnQuaXIiLCJhdWQiOiJDb21wbGV4In0.Hz7fF-bRW3KouPOGgc0p5UVCMQmKkroKzGLdmZeXZeg
@@ -117,6 +123,7 @@ builder.Services.AddDbContext<ComplexDBContext>(
); );
*/ */
builder.Services.AddApiVersioning(Options => builder.Services.AddApiVersioning(Options =>
{ {
Options.AssumeDefaultVersionWhenUnspecified = true; Options.AssumeDefaultVersionWhenUnspecified = true;
@@ -170,6 +177,44 @@ builder.Services.AddSwaggerGen(c =>
var app = builder.Build(); var app = builder.Build();
// Apply pending migrations and create database if not exists
using (var scope = app.Services.CreateScope())
{
var dbContext = scope.ServiceProvider.GetRequiredService<ComplexDBContext>();
// If the database was previously created with EnsureCreated() (no __EFMigrationsHistory),
// seed the history table so Migrate() knows the initial state
if (!dbContext.Database.GetAppliedMigrations().Any())
{
try
{
// Check if any tables exist (meaning EnsureCreated was used before)
var tableCount = dbContext.Database.ExecuteSqlRaw(
"SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'");
if (tableCount > 0)
{
// Create __EFMigrationsHistory if it doesn't exist and seed it
dbContext.Database.ExecuteSqlRaw(
"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '__EFMigrationsHistory') " +
"BEGIN " +
"CREATE TABLE [__EFMigrationsHistory] ([MigrationId] nvarchar(150) NOT NULL, [ProductVersion] nvarchar(32) NOT NULL, PRIMARY KEY ([MigrationId])); " +
"END " +
"IF NOT EXISTS (SELECT * FROM __EFMigrationsHistory WHERE MigrationId = '20260608225845_InitialCreate') " +
"INSERT INTO __EFMigrationsHistory (MigrationId, ProductVersion) VALUES ('20260608225845_InitialCreate', '6.0.3')");
}
}
catch
{
// Database doesn't exist yet, Migrate() will create it
}
}
dbContext.Database.Migrate();
// Seed essential reference data and test data
await DataSeeder.SeedAsync(dbContext);
}
app.UseExceptionHandler(c => c.Run(async context => app.UseExceptionHandler(c => c.Run(async context =>
{ {
var exception = context.Features var exception = context.Features

View File

@@ -53,19 +53,67 @@ namespace Complex.Infrastructure
builder.Entity<Unit>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false); builder.Entity<Unit>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false);
builder.Entity<UnitCost>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false); builder.Entity<UnitCost>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false);
builder.Entity<CostCycle>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false); builder.Entity<CostCycle>().HasQueryFilter(b => EF.Property<bool>(b, "IsRemoved") == false);
//builder.ApplyGlobalFilters<bool>("IsRemoved", false);
// var allEntities = modelBuilder.Model.GetEntityTypes();
//Expression<Func<IMutableEntityType, bool>> 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) // Configure many-to-many between CostCycle and Unit
// entity // SQL Server does not allow multiple cascade paths, so one side must use NoAction
// //entity.SetQueryFilter(filterExpr); builder.Entity<CostCycle>()
//} .HasMany(cc => cc.Units)
.WithMany(u => u.CostCycles)
.UsingEntity<Dictionary<string, object>>(
"CostCycleUnit",
j => j.HasOne<Unit>().WithMany().HasForeignKey("UnitsId").OnDelete(DeleteBehavior.NoAction),
j => j.HasOne<CostCycle>().WithMany().HasForeignKey("CostCyclesId").OnDelete(DeleteBehavior.Cascade));
// Configure UnitCost relationships to avoid multiple cascade paths
// UnitCost -> CostCycle (Cascade) and UnitCost -> Unit (NoAction)
builder.Entity<UnitCost>()
.HasOne(uc => uc.CostCycle)
.WithMany()
.HasForeignKey(uc => uc.CostCycleId)
.OnDelete(DeleteBehavior.Cascade);
builder.Entity<UnitCost>()
.HasOne(uc => uc.Unit)
.WithMany()
.HasForeignKey(uc => uc.UnitId)
.OnDelete(DeleteBehavior.NoAction);
// ============================================================
// Reference/Lookup tables: These have fixed, meaningful IDs
// that are explicitly set in seed data and cross-referenced
// by other entities. Identity auto-generation must be disabled.
// ============================================================
// Province: ProvinceId (1-31) are stable identifiers
builder.Entity<Province>()
.Property(p => p.ProvinceId)
.ValueGeneratedNever();
// City: CityId (101, 102, ...) are meaningful (provinceId * 100 + index)
builder.Entity<City>()
.Property(c => c.CityId)
.ValueGeneratedNever();
// BasicTable (base for TransactionType): Id (1,2) are fixed reference data
builder.Entity<BasicTable>()
.Property(b => b.Id)
.ValueGeneratedNever();
// IncomeCostTitle: Id (1-12) are fixed reference data
builder.Entity<IncomeCostTitle>()
.Property(i => i.Id)
.ValueGeneratedNever();
// UnitState: Id (1-5) are fixed reference data
builder.Entity<UnitState>()
.Property(u => u.Id)
.ValueGeneratedNever();
// Transaction: Seeder uses explicit IDs (1,2,3) that are
// cross-referenced by UnitCost.TransactionId
builder.Entity<Transaction>()
.Property(t => t.Id)
.ValueGeneratedNever();
} }
@@ -155,6 +203,8 @@ namespace Complex.Infrastructure
public virtual DbSet<UnitCost> UnitCosts { get; set; } public virtual DbSet<UnitCost> UnitCosts { get; set; }
public virtual DbSet<UserToken> UserTokens { get; set; } public virtual DbSet<UserToken> UserTokens { get; set; }
public virtual DbSet<SmsCode> SmsCodes { get; set; } public virtual DbSet<SmsCode> SmsCodes { get; set; }
public virtual DbSet<Province> Provinces { get; set; }
public virtual DbSet<City> Cities { get; set; }
protected override void ConfigureConventions(ModelConfigurationBuilder builder) protected override void ConfigureConventions(ModelConfigurationBuilder builder)
{ {

View File

@@ -0,0 +1,510 @@
using Complex.Domain.Entities;
using Microsoft.EntityFrameworkCore;
namespace Complex.Infrastructure
{
public static class DataSeeder
{
public static async Task SeedAsync(ComplexDBContext context)
{
// Only seed if the database is empty (no provinces means fresh database)
if (await context.Set<Province>().AnyAsync())
return;
// ============================================================
// 1. PROVINCES & CITIES (Reference Data)
// ============================================================
var provinces = GetProvinces();
context.Set<Province>().AddRange(provinces);
await context.SaveChangesAsync();
// ============================================================
// 2. TRANSACTION TYPES (Reference Data)
// ============================================================
var transactionTypes = new List<TransactionType>
{
new() { Id = 1, Title = "درآمد" }, // Income
new() { Id = 2, Title = "مخارج" }, // Expense
};
context.Set<TransactionType>().AddRange(transactionTypes);
await context.SaveChangesAsync();
// ============================================================
// 3. INCOME/COST TITLES (Reference Data)
// ============================================================
var incomeCostTitles = new List<IncomeCostTitle>
{
new() { Id = 1, Title = "شارژ ماهیانه", TransactionTypeId = 1 },
new() { Id = 2, Title = "هزینه آب", TransactionTypeId = 2 },
new() { Id = 3, Title = "هزینه برق", TransactionTypeId = 2 },
new() { Id = 4, Title = "هزینه گاز", TransactionTypeId = 2 },
new() { Id = 5, Title = "هزینه نظافت", TransactionTypeId = 2 },
new() { Id = 6, Title = "هزینه تعمیرات", TransactionTypeId = 2 },
new() { Id = 7, Title = "هزینه آسانسور", TransactionTypeId = 2 },
new() { Id = 8, Title = "پارکینگ", TransactionTypeId = 1 },
new() { Id = 9, Title = "جریمه", TransactionTypeId = 1 },
new() { Id = 10, Title = "هزینه اینترنت", TransactionTypeId = 2 },
new() { Id = 11, Title = "هزینه نگهبانی", TransactionTypeId = 2 },
new() { Id = 12, Title = "هزینه باغبانی", TransactionTypeId = 2 },
};
context.Set<IncomeCostTitle>().AddRange(incomeCostTitles);
await context.SaveChangesAsync();
// ============================================================
// 4. UNIT STATES (Reference Data)
// ============================================================
var unitStates = new List<UnitState>
{
new() { Id = 1, Title = "ساکن دارد", Icon = "home" },
new() { Id = 2, Title = "خالی", Icon = "door-open" },
new() { Id = 3, Title = "بازسازی", Icon = "hammer" },
new() { Id = 4, Title = "اجاره داده شده", Icon = "key" },
new() { Id = 5, Title = "فروخته شده", Icon = "handshake" },
};
context.Set<UnitState>().AddRange(unitStates);
await context.SaveChangesAsync();
// ============================================================
// 5. PERSONS (Test Data)
// ============================================================
var persons = new List<Person>
{
new() { Id = "09354600904", FirstName = "علی", LastName = "مدیر", Gender = 1, IsActive = true },
new() { Id = "09120000002", FirstName = "رضا", LastName = "ساکن", Gender = 1, IsActive = true },
new() { Id = "09120000003", FirstName = "مریم", LastName = "ساکنی", Gender = 2, IsActive = true },
new() { Id = "09120000004", FirstName = "مدیر", LastName = "سیستم", Gender = 1, IsActive = true },
new() { Id = "09120000005", FirstName = "احمد", LastName = "احمدی", Gender = 1, IsActive = true },
new() { Id = "09120000006", FirstName = "سارا", LastName = "محمدی", Gender = 2, IsActive = true },
new() { Id = "09120000007", FirstName = "حسین", LastName = "حسینی", Gender = 1, IsActive = true },
new() { Id = "09120000008", FirstName = "زهرا", LastName = "رضایی", Gender = 2, IsActive = true },
new() { Id = "09120000009", FirstName = "محمد", LastName = "محمدیان", Gender = 1, IsActive = true },
new() { Id = "09120000010", FirstName = "فاطمه", LastName = "کریمی", Gender = 2, IsActive = true },
new() { Id = "09120000011", FirstName = "امیر", LastName = "امیری", Gender = 1, IsActive = true },
new() { Id = "09120000012", FirstName = "نرگس", LastName = "نرگسی", Gender = 2, IsActive = true },
};
context.Set<Person>().AddRange(persons);
await context.SaveChangesAsync();
// ============================================================
// 6. COMPLEX ENTITIES (Test Data)
// ============================================================
var complexId1 = Guid.Parse("A1B2C3D4-E5F6-7890-ABCD-EF1234567890");
var complexId2 = Guid.Parse("B2C3D4E5-F6A7-8901-BCDE-F12345678901");
var complexes = new List<ComplexEntity>
{
new()
{
Id = complexId1,
Title = "مجتمع بهاران",
Address = "تهران، خیابان ولیعصر، نبش کوچه بهار",
CityId = 801, // Tehran (provinceId=8, cityId=8*100+1)
AreaMeter = 2000,
YardMeter = 500,
ElevatorCount = 2,
WarehouseCount = 10,
YearMake = 1398,
Description = "مجتمع مسکونی 10 واحده با امکانات کامل"
},
new()
{
Id = complexId2,
Title = "مجتمع ساحل",
Address = "اصفهان، خیابان چهارباغ، روبروی پارک ساحل",
CityId = 401, // Isfahan (provinceId=4, cityId=4*100+1)
AreaMeter = 1500,
YardMeter = 300,
ElevatorCount = 1,
WarehouseCount = 6,
YearMake = 1400,
Description = "مجتمع مسکونی 6 واحده"
},
};
context.Set<ComplexEntity>().AddRange(complexes);
await context.SaveChangesAsync();
// ============================================================
// 7. COMPLEX MANAGERS (Test Data)
// ============================================================
var complexManagers = new List<ComplexManager>
{
new()
{
ComplexId = complexId1,
ManagerMobileNumberId = "09354600904", // علی مدیر
StartDate = "1402/01/01",
EndDate = "1405/12/29"
},
new()
{
ComplexId = complexId2,
ManagerMobileNumberId = "09120000004", // مدیر سیستم
StartDate = "1402/06/01",
EndDate = "1405/06/01"
},
};
context.Set<ComplexManager>().AddRange(complexManagers);
await context.SaveChangesAsync();
// ============================================================
// 8. COMPLEX PERSONS (Test Data)
// ============================================================
var complexPersons = new List<ComplexPerson>
{
new() { ComplexId = complexId1, PersonMobileNumberId = "09354600904" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000002" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000003" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000005" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000006" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000007" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000008" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000009" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000010" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000011" },
new() { ComplexId = complexId1, PersonMobileNumberId = "09120000012" },
new() { ComplexId = complexId2, PersonMobileNumberId = "09120000004" },
new() { ComplexId = complexId2, PersonMobileNumberId = "09120000005" },
new() { ComplexId = complexId2, PersonMobileNumberId = "09120000006" },
new() { ComplexId = complexId2, PersonMobileNumberId = "09120000007" },
};
context.Set<ComplexPerson>().AddRange(complexPersons);
await context.SaveChangesAsync();
// ============================================================
// 9. UNITS (Test Data)
// ============================================================
var unitIds = new List<Guid>
{
Guid.Parse("11111111-1111-1111-1111-111111111101"),
Guid.Parse("11111111-1111-1111-1111-111111111102"),
Guid.Parse("11111111-1111-1111-1111-111111111103"),
Guid.Parse("11111111-1111-1111-1111-111111111104"),
Guid.Parse("11111111-1111-1111-1111-111111111105"),
Guid.Parse("11111111-1111-1111-1111-111111111106"),
Guid.Parse("11111111-1111-1111-1111-111111111107"),
Guid.Parse("11111111-1111-1111-1111-111111111108"),
Guid.Parse("11111111-1111-1111-1111-111111111109"),
Guid.Parse("11111111-1111-1111-1111-111111111110"),
Guid.Parse("22222222-2222-2222-2222-222222222201"),
Guid.Parse("22222222-2222-2222-2222-222222222202"),
Guid.Parse("22222222-2222-2222-2222-222222222203"),
Guid.Parse("22222222-2222-2222-2222-222222222204"),
Guid.Parse("22222222-2222-2222-2222-222222222205"),
Guid.Parse("22222222-2222-2222-2222-222222222206"),
};
var units = new List<Unit>
{
// Complex 1 - 10 units
new() { Id = unitIds[0], ComplexId = complexId1, UnitName = "واحد 1", OwnerId = "09120000002", TenantId = null, IsActive = true, AreaMeter = 120, Floor = 1, StateId = 1, EmergencyTels = "09120000002" },
new() { Id = unitIds[1], ComplexId = complexId1, UnitName = "واحد 2", OwnerId = "09120000003", TenantId = null, IsActive = true, AreaMeter = 100, Floor = 1, StateId = 1, EmergencyTels = "09120000003" },
new() { Id = unitIds[2], ComplexId = complexId1, UnitName = "واحد 3", OwnerId = "09120000005", TenantId = "09120000006", IsActive = true, AreaMeter = 110, Floor = 2, StateId = 4, EmergencyTels = "09120000005,09120000006" },
new() { Id = unitIds[3], ComplexId = complexId1, UnitName = "واحد 4", OwnerId = "09120000007", TenantId = null, IsActive = true, AreaMeter = 130, Floor = 2, StateId = 1, EmergencyTels = "09120000007" },
new() { Id = unitIds[4], ComplexId = complexId1, UnitName = "واحد 5", OwnerId = null, TenantId = null, IsActive = true, AreaMeter = 90, Floor = 3, StateId = 2, EmergencyTels = "" },
new() { Id = unitIds[5], ComplexId = complexId1, UnitName = "واحد 6", OwnerId = "09120000008", TenantId = null, IsActive = true, AreaMeter = 140, Floor = 3, StateId = 1, EmergencyTels = "09120000008" },
new() { Id = unitIds[6], ComplexId = complexId1, UnitName = "واحد 7", OwnerId = "09120000009", TenantId = "09120000010", IsActive = true, AreaMeter = 95, Floor = 4, StateId = 4, EmergencyTels = "09120000009,09120000010" },
new() { Id = unitIds[7], ComplexId = complexId1, UnitName = "واحد 8", OwnerId = "09120000011", TenantId = null, IsActive = true, AreaMeter = 115, Floor = 4, StateId = 1, EmergencyTels = "09120000011" },
new() { Id = unitIds[8], ComplexId = complexId1, UnitName = "واحد 9", OwnerId = "09120000012", TenantId = null, IsActive = true, AreaMeter = 105, Floor = 5, StateId = 1, EmergencyTels = "09120000012" },
new() { Id = unitIds[9], ComplexId = complexId1, UnitName = "واحد 10", OwnerId = null, TenantId = null, IsActive = false,AreaMeter = 80, Floor = 5, StateId = 3, EmergencyTels = "" },
// Complex 2 - 6 units
new() { Id = unitIds[10], ComplexId = complexId2, UnitName = "واحد 1", OwnerId = "09120000005", TenantId = null, IsActive = true, AreaMeter = 110, Floor = 1, StateId = 1, EmergencyTels = "09120000005" },
new() { Id = unitIds[11], ComplexId = complexId2, UnitName = "واحد 2", OwnerId = "09120000006", TenantId = null, IsActive = true, AreaMeter = 90, Floor = 1, StateId = 1, EmergencyTels = "09120000006" },
new() { Id = unitIds[12], ComplexId = complexId2, UnitName = "واحد 3", OwnerId = "09120000007", TenantId = null, IsActive = true, AreaMeter = 120, Floor = 2, StateId = 1, EmergencyTels = "09120000007" },
new() { Id = unitIds[13], ComplexId = complexId2, UnitName = "واحد 4", OwnerId = null, TenantId = null, IsActive = true, AreaMeter = 85, Floor = 2, StateId = 2, EmergencyTels = "" },
new() { Id = unitIds[14], ComplexId = complexId2, UnitName = "واحد 5", OwnerId = "09120000004", TenantId = null, IsActive = true, AreaMeter = 100, Floor = 3, StateId = 1, EmergencyTels = "09120000004" },
new() { Id = unitIds[15], ComplexId = complexId2, UnitName = "واحد 6", OwnerId = null, TenantId = null, IsActive = false,AreaMeter = 95, Floor = 3, StateId = 3, EmergencyTels = "" },
};
context.Set<Unit>().AddRange(units);
await context.SaveChangesAsync();
// ============================================================
// 10. COST CYCLES (Test Data)
// ============================================================
var costCycleId1 = Guid.Parse("CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCC01");
var costCycleId2 = Guid.Parse("CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCC02");
var costCycles = new List<CostCycle>
{
new()
{
Id = costCycleId1,
ComplexId = complexId1,
Title = "شارژ فروردین 1404",
StartDate = new DateOnly(1404, 1, 1),
EndDate = new DateOnly(1404, 1, 31),
Amount = 500000,
EncouragementDay = 10,
EncouragementAmount = 450000,
IncomeCostTitleId = null, // شارژ ماهیانه
},
new()
{
Id = costCycleId2,
ComplexId = complexId1,
Title = "هزینه نظافت فروردین 1404",
StartDate = new DateOnly(1404, 1, 1),
EndDate = new DateOnly(1404, 1, 31),
Amount = 200000,
EncouragementDay = 0,
EncouragementAmount = 0,
IncomeCostTitleId = 5, // هزینه نظافت
},
};
context.Set<CostCycle>().AddRange(costCycles);
await context.SaveChangesAsync();
// Associate CostCycles with Units (many-to-many via CostCycleUnit)
// For costCycle1 - all units of complex1
var complex1Units = units.Take(10).ToList();
foreach (var unit in complex1Units)
{
// We need to add to the join table manually via the navigation property
var cycle1 = await context.Set<CostCycle>().Include(c => c.Units).FirstAsync(c => c.Id == costCycleId1);
cycle1.Units.Add(unit);
}
// For costCycle2 - only units 1,2,3,4 of complex1
var selectedUnits = units.Take(4).ToList();
var cycle2 = await context.Set<CostCycle>().Include(c => c.Units).FirstAsync(c => c.Id == costCycleId2);
foreach (var unit in selectedUnits)
{
cycle2.Units.Add(unit);
}
await context.SaveChangesAsync();
// ============================================================
// 11. UNIT COSTS (Test Data)
// ============================================================
var unitCosts = new List<UnitCost>();
long unitCostId = 1;
foreach (var unit in complex1Units)
{
unitCosts.Add(new UnitCost
{
Id = unitCostId++,
CostCycleId = costCycleId1,
UnitId = unit.Id,
Date = new DateOnly(1404, 1, 1),
TransactionId = null
});
}
foreach (var unit in selectedUnits)
{
unitCosts.Add(new UnitCost
{
Id = unitCostId++,
CostCycleId = costCycleId2,
UnitId = unit.Id,
Date = new DateOnly(1404, 1, 1),
TransactionId = null
});
}
context.Set<UnitCost>().AddRange(unitCosts);
await context.SaveChangesAsync();
// ============================================================
// 12. TRANSACTIONS (Test Data - some paid, some unpaid)
// ============================================================
var transactions = new List<Transaction>
{
new()
{
Id = 1,
TransactionTitleId = null, // شارژ
TransactionPersianDate = "1404/01/15",
TransactionDate = new DateTime(2025, 4, 4),
Amount = 500000,
Description = "پرداخت شارژ فروردین - واحد 1",
CostCycleId = costCycleId1,
UnitId = unitIds[0],
UnitCostId = 1, // First UnitCost
ComplexId = complexId1,
PersonId = "09120000002",
FicheId = "FICHE-001"
},
new()
{
Id = 2,
TransactionTitleId = null,
TransactionPersianDate = "1404/01/20",
TransactionDate = new DateTime(2025, 4, 9),
Amount = 500000,
Description = "پرداخت شارژ فروردین - واحد 2",
CostCycleId = costCycleId1,
UnitId = unitIds[1],
UnitCostId = 2,
ComplexId = complexId1,
PersonId = "09120000003",
FicheId = "FICHE-002"
},
new()
{
Id = 3,
TransactionTitleId = 5, // هزینه نظافت
TransactionPersianDate = "1404/01/25",
TransactionDate = new DateTime(2025, 4, 14),
Amount = 200000,
Description = "پرداخت هزینه نظافت - واحد 1",
CostCycleId = costCycleId2,
UnitId = unitIds[0],
UnitCostId = 11,
ComplexId = complexId1,
PersonId = "09120000002",
FicheId = "FICHE-003"
},
};
context.Set<Transaction>().AddRange(transactions);
await context.SaveChangesAsync();
// Update UnitCosts to mark them as paid (link TransactionId)
var paidUnitCost1 = await context.Set<UnitCost>().FindAsync(1L);
if (paidUnitCost1 != null) paidUnitCost1.TransactionId = 1;
var paidUnitCost2 = await context.Set<UnitCost>().FindAsync(2L);
if (paidUnitCost2 != null) paidUnitCost2.TransactionId = 2;
var paidUnitCost11 = await context.Set<UnitCost>().FindAsync(11L);
if (paidUnitCost11 != null) paidUnitCost11.TransactionId = 3;
await context.SaveChangesAsync();
// ============================================================
// 13. CHATS (Test Data)
// ============================================================
var chats = new List<Chat>
{
new()
{
ComplexId = complexId1,
PersonMobileNumber = "09120000002",
Body = "سلام. وقت بخیر. لطفاً در مورد شارژ ماه جاری راهنمایی بفرمایید.",
ChatTypeId = 1
},
new()
{
ComplexId = complexId1,
PersonMobileNumber = "09354600904",
Body = "سلام. شارژ فروردین ۵۰۰ هزار تومان است. مهلت پرداخت تا ۱۰ فروردین با تخفیف می‌باشد.",
ChatTypeId = 2
},
new()
{
ComplexId = complexId1,
PersonMobileNumber = "09120000005",
Body = "آسانسور طبقه ۳ مشکل دارد. لطفاً رسیدگی کنید.",
ChatTypeId = 1
},
};
context.Set<Chat>().AddRange(chats);
await context.SaveChangesAsync();
// ============================================================
// 14. COMPLEX UNIT EVENTS (Test Data)
// ============================================================
var events = new List<ComplexUnitEvent>
{
new()
{
UnitId = unitIds[0],
EventDate = "1404/01/05",
RegisterMobileNumber = "09120000002",
Body = "تعویض کنتور آب",
Description = "کنتور آب واحد ۱ تعویض شد"
},
new()
{
UnitId = unitIds[2],
EventDate = "1404/01/10",
RegisterMobileNumber = "09120000005",
Body = "تعمیر شیرآلات",
Description = "شیرآلات آشپزخانه تعمیر شد"
},
new()
{
ComplexId = null,
UnitId = null,
EventDate = "1404/01/01",
RegisterMobileNumber = "09354600904",
Body = "سال نو مبارک",
Description = "تبریک سال نو به تمام ساکنین مجتمع"
},
};
context.Set<ComplexUnitEvent>().AddRange(events);
await context.SaveChangesAsync();
// ============================================================
// 15. POSTERS (Test Data)
// ============================================================
var posters = new List<Poster>
{
new()
{
RegisterMobileNumber = "09354600904",
IsActive = true,
ImagePath = "/images/posters/banner1.jpg"
},
new()
{
RegisterMobileNumber = "09354600904",
IsActive = false,
ImagePath = "/images/posters/banner2.jpg"
},
};
context.Set<Poster>().AddRange(posters);
await context.SaveChangesAsync();
}
private static List<Province> GetProvinces()
{
return new List<Province>
{
new() { ProvinceId = 1, ProvinceTitle = "آذربایجان شرقی", Cities = GetCities(1, "تبریز", "مراغه", "مرند", "میانه") },
new() { ProvinceId = 2, ProvinceTitle = "آذربایجان غربی", Cities = GetCities(2, "ارومیه", "خوی", "میاندوآب", "سلماس") },
new() { ProvinceId = 3, ProvinceTitle = "اردبیل", Cities = GetCities(3, "اردبیل", "پارس‌آباد", "مشگین‌شهر") },
new() { ProvinceId = 4, ProvinceTitle = "اصفهان", Cities = GetCities(4, "اصفهان", "کاشان", "خمینی‌شهر", "نجف‌آباد", "شهرضا") },
new() { ProvinceId = 5, ProvinceTitle = "البرز", Cities = GetCities(5, "کرج", "فردیس", "هشتگرد") },
new() { ProvinceId = 6, ProvinceTitle = "ایلام", Cities = GetCities(6, "ایلام", "دهلران") },
new() { ProvinceId = 7, ProvinceTitle = "بوشهر", Cities = GetCities(7, "بوشهر", "برازجان", "کنگان") },
new() { ProvinceId = 8, ProvinceTitle = "تهران", Cities = GetCities(8, "تهران", "شهریار", "اسلامشهر", "رباط‌کریم", "ورامین") },
new() { ProvinceId = 9, ProvinceTitle = "چهارمحال و بختیاری", Cities = GetCities(9, "شهرکرد", "بروجن") },
new() { ProvinceId = 10, ProvinceTitle = "خراسان جنوبی", Cities = GetCities(10, "بیرجند", "قائن") },
new() { ProvinceId = 11, ProvinceTitle = "خراسان رضوی", Cities = GetCities(11, "مشهد", "نیشابور", "سبزوار", "گناباد", "تربت‌حیدریه") },
new() { ProvinceId = 12, ProvinceTitle = "خراسان شمالی", Cities = GetCities(12, "بجنورد", "شیروان") },
new() { ProvinceId = 13, ProvinceTitle = "خوزستان", Cities = GetCities(13, "اهواز", "آبادان", "خرمشهر", "دزفول", "بندر ماهشهر") },
new() { ProvinceId = 14, ProvinceTitle = "زنجان", Cities = GetCities(14, "زنجان", "ابهر") },
new() { ProvinceId = 15, ProvinceTitle = "سمنان", Cities = GetCities(15, "سمنان", "شاهرود", "دامغان") },
new() { ProvinceId = 16, ProvinceTitle = "سیستان و بلوچستان", Cities = GetCities(16, "زاهدان", "زابل", "چابهار", "ایرانشهر") },
new() { ProvinceId = 17, ProvinceTitle = "فارس", Cities = GetCities(17, "شیراز", "مرودشت", "جهرم", "فسا", "کازرون") },
new() { ProvinceId = 18, ProvinceTitle = "قزوین", Cities = GetCities(18, "قزوین", "الوند", "تاکستان") },
new() { ProvinceId = 19, ProvinceTitle = "قم", Cities = GetCities(19, "قم") },
new() { ProvinceId = 20, ProvinceTitle = "کردستان", Cities = GetCities(20, "سنندج", "سقز", "مریوان") },
new() { ProvinceId = 21, ProvinceTitle = "کرمان", Cities = GetCities(21, "کرمان", "رفسنجان", "سیرجان", "زرند") },
new() { ProvinceId = 22, ProvinceTitle = "کرمانشاه", Cities = GetCities(22, "کرمانشاه", "اسلام‌آباد غرب", "کنگاور") },
new() { ProvinceId = 23, ProvinceTitle = "کهگیلویه و بویراحمد", Cities = GetCities(23, "یاسوج", "گچساران") },
new() { ProvinceId = 24, ProvinceTitle = "گلستان", Cities = GetCities(24, "گرگان", "گنبد کاووس", "علی‌آباد") },
new() { ProvinceId = 25, ProvinceTitle = "گیلان", Cities = GetCities(25, "رشت", "انزلی", "لاهیجان", "لنگرود") },
new() { ProvinceId = 26, ProvinceTitle = "لرستان", Cities = GetCities(26, "خرم‌آباد", "بروجرد", "الیگودرز") },
new() { ProvinceId = 27, ProvinceTitle = "مازندران", Cities = GetCities(27, "ساری", "بابل", "آمل", "قائم‌شهر", "چالوس") },
new() { ProvinceId = 28, ProvinceTitle = "مرکزی", Cities = GetCities(28, "اراک", "ساوه", "خمین") },
new() { ProvinceId = 29, ProvinceTitle = "هرمزگان", Cities = GetCities(29, "بندرعباس", "قشم", "کیش", "بندر لنگه") },
new() { ProvinceId = 30, ProvinceTitle = "همدان", Cities = GetCities(30, "همدان", "ملایر", "نهاوند") },
new() { ProvinceId = 31, ProvinceTitle = "یزد", Cities = GetCities(31, "یزد", "میبد", "اردکان") },
};
}
private static List<City> GetCities(int provinceId, params string[] cityNames)
{
var cities = new List<City>();
int cityId = provinceId * 100; // Simple ID generation: provinceId * 100 + index
for (int i = 0; i < cityNames.Length; i++)
{
cities.Add(new City
{
CityId = cityId + i + 1,
ProvinceId = provinceId,
CityTitle = cityNames[i]
});
}
return cities;
}
}
}

View File

@@ -1,144 +0,0 @@
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<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ComplexId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
PersonMobileNumberId = table.Column<string>(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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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<DateTime>(
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));
}
}
}

Some files were not shown because too many files have changed in this diff Show More