diff --git a/angular/src/app/book-issue/book-issue.component.ts b/angular/src/app/book-issue/book-issue.component.ts index 50e7c71..779bb40 100644 --- a/angular/src/app/book-issue/book-issue.component.ts +++ b/angular/src/app/book-issue/book-issue.component.ts @@ -72,7 +72,7 @@ export class BookIssueComponent implements OnInit { }); } - delete(bookIssueId: number) { + delete(bookIssueId: string) { this.confirmation.warn('::AreYouSureToUnIssue', '::AreYouSure').subscribe((status) => { if (status === Confirmation.Status.confirm) { this.bookIssuedService.delete(bookIssueId).subscribe(() => this.list.get()); diff --git a/angular/src/app/customer/customer.component.ts b/angular/src/app/customer/customer.component.ts index 730b1b4..52a34cb 100644 --- a/angular/src/app/customer/customer.component.ts +++ b/angular/src/app/customer/customer.component.ts @@ -35,7 +35,7 @@ export class CustomerComponent implements OnInit { this.buildForm(); this.isModalOpen = true; } - editCustomer(id: number) { + editCustomer(id: string) { this.customerService.get(id).subscribe((customer) => { debugger; this.selectedcustomer = customer; @@ -82,7 +82,7 @@ else{ } - delete(id: number) { + delete(id: string) { this.confirmation.warn('::AreYouSureToDelete', '::AreYouSure').subscribe((status) => { if (status === Confirmation.Status.confirm) { this.customerService.delete(id).subscribe(() => this.list.get()); diff --git a/angular/src/app/proxy/book-issued/book-issue.service.ts b/angular/src/app/proxy/book-issued/book-issue.service.ts index 8baba6e..c7759be 100644 --- a/angular/src/app/proxy/book-issued/book-issue.service.ts +++ b/angular/src/app/proxy/book-issued/book-issue.service.ts @@ -19,7 +19,7 @@ export class BookIssueService { { apiName: this.apiName,...config }); - delete = (id: number, config?: Partial) => + delete = (id: string, config?: Partial) => this.restService.request({ method: 'DELETE', url: `/api/app/book-issue/${id}`, @@ -27,7 +27,7 @@ export class BookIssueService { { apiName: this.apiName,...config }); - get = (id: number, config?: Partial) => + get = (id: string, config?: Partial) => this.restService.request({ method: 'GET', url: `/api/app/book-issue/${id}`, @@ -43,7 +43,7 @@ export class BookIssueService { { apiName: this.apiName,...config }); - update = (id: number, input: BookIssueDto, config?: Partial) => + update = (id: string, input: BookIssueDto, config?: Partial) => this.restService.request({ method: 'PUT', url: `/api/app/book-issue/${id}`, diff --git a/angular/src/app/proxy/book-issued/models.ts b/angular/src/app/proxy/book-issued/models.ts index 52d1f0f..85d1380 100644 --- a/angular/src/app/proxy/book-issued/models.ts +++ b/angular/src/app/proxy/book-issued/models.ts @@ -1,12 +1,12 @@ import type { EntityDto } from '@abp/ng.core'; -export interface BookIssueDto extends EntityDto { - bookId?: string; - customerId: number; +export interface BookIssueDto extends EntityDto { + bookId: string; + customerId: string; } export interface BookIssueListDto { - bookIssueId: number; + bookIssueId?: string; bookName?: string; customerName?: string; issueDate?: string; diff --git a/angular/src/app/proxy/customers/customer.service.ts b/angular/src/app/proxy/customers/customer.service.ts index b90ebf6..3020793 100644 --- a/angular/src/app/proxy/customers/customer.service.ts +++ b/angular/src/app/proxy/customers/customer.service.ts @@ -19,7 +19,7 @@ export class CustomerService { { apiName: this.apiName,...config }); - delete = (id: number, config?: Partial) => + delete = (id: string, config?: Partial) => this.restService.request({ method: 'DELETE', url: `/api/app/customer/${id}`, @@ -27,7 +27,7 @@ export class CustomerService { { apiName: this.apiName,...config }); - get = (id: number, config?: Partial) => + get = (id: string, config?: Partial) => this.restService.request({ method: 'GET', url: `/api/app/customer/${id}`, @@ -51,7 +51,7 @@ export class CustomerService { { apiName: this.apiName,...config }); - update = (id: number, input: CustomerDto, config?: Partial) => + update = (id: string, input: CustomerDto, config?: Partial) => this.restService.request({ method: 'PUT', url: `/api/app/customer/${id}`, diff --git a/angular/src/app/proxy/customers/models.ts b/angular/src/app/proxy/customers/models.ts index 798c315..cca08d0 100644 --- a/angular/src/app/proxy/customers/models.ts +++ b/angular/src/app/proxy/customers/models.ts @@ -1,8 +1,8 @@ import type { EntityDto } from '@abp/ng.core'; -export interface CustomerDto extends EntityDto { - firstName?: string; - lastName?: string; - phone?: string; - address?: string; +export interface CustomerDto extends EntityDto { + firstName: string; + lastName: string; + phone: string; + address: string; } diff --git a/angular/src/app/proxy/generate-proxy.json b/angular/src/app/proxy/generate-proxy.json index 9e2eb37..87e4018 100644 --- a/angular/src/app/proxy/generate-proxy.json +++ b/angular/src/app/proxy/generate-proxy.json @@ -1242,9 +1242,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1284,9 +1284,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null }, @@ -1309,9 +1309,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1334,9 +1334,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1346,8 +1346,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -1423,9 +1423,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null }, @@ -1443,8 +1443,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -1480,9 +1480,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1492,8 +1492,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -1890,9 +1890,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1932,9 +1932,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null }, @@ -1957,9 +1957,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -1990,9 +1990,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -2002,8 +2002,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -2094,9 +2094,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null }, @@ -2114,8 +2114,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -2151,9 +2151,9 @@ "parametersOnMethod": [ { "name": "id", - "typeAsString": "System.Int32, System.Private.CoreLib", - "type": "System.Int32", - "typeSimple": "number", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null } @@ -2163,8 +2163,8 @@ "nameOnMethod": "id", "name": "id", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isOptional": false, "defaultValue": null, "constraintTypes": [], @@ -4947,18 +4947,18 @@ ] }, "Acme.BookStore.BookIssued.BookIssueDto": { - "baseType": "Volo.Abp.Application.Dtos.EntityDto", + "baseType": "Volo.Abp.Application.Dtos.EntityDto", "isEnum": false, "enumNames": null, "enumValues": null, "genericArguments": null, "properties": [ { - "name": "bookId", + "name": "BookId", "jsonName": null, "type": "System.Guid", "typeSimple": "string", - "isRequired": false, + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, @@ -4966,11 +4966,11 @@ "regex": null }, { - "name": "customerId", + "name": "CustomerId", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", - "isRequired": false, + "type": "System.Guid", + "typeSimple": "string", + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, @@ -4987,10 +4987,10 @@ "genericArguments": null, "properties": [ { - "name": "bookIssueId", + "name": "BookIssueId", "jsonName": null, - "type": "System.Int32", - "typeSimple": "number", + "type": "System.Guid", + "typeSimple": "string", "isRequired": false, "minLength": null, "maxLength": null, @@ -4999,7 +4999,7 @@ "regex": null }, { - "name": "bookName", + "name": "BookName", "jsonName": null, "type": "System.String", "typeSimple": "string", @@ -5011,7 +5011,7 @@ "regex": null }, { - "name": "customerName", + "name": "CustomerName", "jsonName": null, "type": "System.String", "typeSimple": "string", @@ -5023,7 +5023,7 @@ "regex": null }, { - "name": "issueDate", + "name": "IssueDate", "jsonName": null, "type": "System.DateTime", "typeSimple": "string", @@ -5179,18 +5179,18 @@ ] }, "Acme.BookStore.Customers.CustomerDto": { - "baseType": "Volo.Abp.Application.Dtos.EntityDto", + "baseType": "Volo.Abp.Application.Dtos.EntityDto", "isEnum": false, "enumNames": null, "enumValues": null, "genericArguments": null, "properties": [ { - "name": "firstName", + "name": "FirstName", "jsonName": null, "type": "System.String", "typeSimple": "string", - "isRequired": false, + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, @@ -5198,11 +5198,11 @@ "regex": null }, { - "name": "lastName", + "name": "LastName", "jsonName": null, "type": "System.String", "typeSimple": "string", - "isRequired": false, + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, @@ -5210,11 +5210,11 @@ "regex": null }, { - "name": "phone", + "name": "Phone", "jsonName": null, "type": "System.String", "typeSimple": "string", - "isRequired": false, + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, @@ -5222,11 +5222,11 @@ "regex": null }, { - "name": "address", + "name": "Address", "jsonName": null, "type": "System.String", "typeSimple": "string", - "isRequired": false, + "isRequired": true, "minLength": null, "maxLength": null, "minimum": null, diff --git a/aspnet-core/src/Acme.BookStore.Application.Contracts/BookIssued/BookIssueDto.cs b/aspnet-core/src/Acme.BookStore.Application.Contracts/BookIssued/BookIssueDto.cs index 48b3ea1..8715460 100644 --- a/aspnet-core/src/Acme.BookStore.Application.Contracts/BookIssued/BookIssueDto.cs +++ b/aspnet-core/src/Acme.BookStore.Application.Contracts/BookIssued/BookIssueDto.cs @@ -9,17 +9,17 @@ namespace Acme.BookStore.BookIssued public class BookIssueDto : EntityDto { [Required] - public Guid bookId { get; set; } + public Guid BookId { get; set; } [Required] - public Guid customerId { get; set; } + public Guid CustomerId { get; set; } } public class BookIssueListDto { - public Guid bookIssueId { get; set; } - public string bookName { get; set; } - public string customerName { get; set; } - public DateTime issueDate { get; set; } + public Guid BookIssueId { get; set; } + public string BookName { get; set; } + public string CustomerName { get; set; } + public DateTime IssueDate { get; set; } } } diff --git a/aspnet-core/src/Acme.BookStore.Application.Contracts/Customers/CustomerDto.cs b/aspnet-core/src/Acme.BookStore.Application.Contracts/Customers/CustomerDto.cs index 03a0d73..e228e15 100644 --- a/aspnet-core/src/Acme.BookStore.Application.Contracts/Customers/CustomerDto.cs +++ b/aspnet-core/src/Acme.BookStore.Application.Contracts/Customers/CustomerDto.cs @@ -9,12 +9,12 @@ namespace Acme.BookStore.Customers public class CustomerDto : EntityDto { [Required] - public string firstName { get; set; } + public string FirstName { get; set; } [Required] - public string lastName { get; set; } + public string LastName { get; set; } [Required] - public string phone { get; set; } + public string Phone { get; set; } [Required] - public string address { get; set; } + public string Address { get; set; } } } diff --git a/aspnet-core/src/Acme.BookStore.Application/Customers/CustomerAppService.cs b/aspnet-core/src/Acme.BookStore.Application/Customers/CustomerAppService.cs index 1aeaba7..f7b492a 100644 --- a/aspnet-core/src/Acme.BookStore.Application/Customers/CustomerAppService.cs +++ b/aspnet-core/src/Acme.BookStore.Application/Customers/CustomerAppService.cs @@ -67,9 +67,9 @@ namespace Acme.BookStore.Customers { var cus = await _customerRepository.GetAsync(id); - if (cus.phone == input.phone) + if (cus.Phone == input.Phone) { - await _customerManager.ChangeNameAsync(cus, input.firstName,input.lastName); + await _customerManager.ChangeNameAsync(cus, input.FirstName,input.LastName); } await _customerRepository.UpdateAsync(cus); diff --git a/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssue.cs b/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssue.cs index ca0ce08..fa11244 100644 --- a/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssue.cs +++ b/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssue.cs @@ -9,25 +9,25 @@ namespace Acme.BookStore.BookIssued { public class BookIssue : FullAuditedAggregateRoot { - public Guid bookId { get; set; } - public Guid customerId { get; set; } + public Guid BookId { get; set; } + public Guid CustomerId { get; set; } private BookIssue() { /* This constructor is for deserialization / ORM purpose */ } internal BookIssue(Guid id, Guid bookId, Guid customerId) : base(id) { - this.bookId = bookId; - this.customerId = customerId; + this.BookId = bookId; + this.CustomerId = customerId; } } public class BookIssueList { - public Guid bookIssueId { get; set; } - public string bookName { get; set; } - public string customerName { get; set; } - public DateTime issueDate { get; set; } + public Guid BookIssueId { get; set; } + public string BookName { get; set; } + public string CustomerName { get; set; } + public DateTime IssueDate { get; set; } } } diff --git a/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssueManager.cs b/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssueManager.cs index 7566f20..0aadaf1 100644 --- a/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssueManager.cs +++ b/aspnet-core/src/Acme.BookStore.Domain/BookIssued/BookIssueManager.cs @@ -20,15 +20,15 @@ namespace Acme.BookStore.BookIssued public async Task CreateAsync( BookIssue bookissue) { - var existingBookIssue = await _bookIssueRepository.FindBookIssueCustomer(bookissue.customerId,bookissue.bookId); + var existingBookIssue = await _bookIssueRepository.FindBookIssueCustomer(bookissue.CustomerId,bookissue.BookId); if (existingBookIssue != null) { - throw new BookIssueErrorException(existingBookIssue.customerName, existingBookIssue.bookName); + throw new BookIssueErrorException(existingBookIssue.CustomerName, existingBookIssue.BookName); } return new BookIssue( GuidGenerator.Create(), - bookissue.bookId, - bookissue.customerId + bookissue.BookId, + bookissue.CustomerId ); } diff --git a/aspnet-core/src/Acme.BookStore.Domain/Customers/Customer.cs b/aspnet-core/src/Acme.BookStore.Domain/Customers/Customer.cs index c6487f0..985fa5a 100644 --- a/aspnet-core/src/Acme.BookStore.Domain/Customers/Customer.cs +++ b/aspnet-core/src/Acme.BookStore.Domain/Customers/Customer.cs @@ -10,20 +10,20 @@ namespace Acme.BookStore.Customers { public class Customer : FullAuditedAggregateRoot { - public string firstName { get; set; } - public string lastName { get; set; } - public string phone { get; set; } - public string address { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public string Phone { get; set; } + public string Address { get; set; } private Customer() { /* This constructor is for deserialization / ORM purpose */ } internal Customer(Guid id, string firstName, string lastName, string phone, string address) : base(id) { - this.firstName = firstName; - this.lastName = lastName; - this.phone = phone; - this.address = address; + this.FirstName = firstName; + this.LastName = lastName; + this.Phone = phone; + this.Address = address; } internal Customer ChangeFirstName(string firstname) @@ -39,7 +39,7 @@ namespace Acme.BookStore.Customers nameof(firstName), maxLength: CustomerConsts.MaxNameLength ); - this.firstName = firstName; + this.FirstName = firstName; } internal Customer ChangeLastName(string lastname) { @@ -54,7 +54,7 @@ namespace Acme.BookStore.Customers nameof(lastname), maxLength: CustomerConsts.MaxNameLength ); - this.lastName = lastname; + this.LastName = lastname; } } } diff --git a/aspnet-core/src/Acme.BookStore.Domain/Customers/CustomerManager.cs b/aspnet-core/src/Acme.BookStore.Domain/Customers/CustomerManager.cs index 0b9101d..f61d993 100644 --- a/aspnet-core/src/Acme.BookStore.Domain/Customers/CustomerManager.cs +++ b/aspnet-core/src/Acme.BookStore.Domain/Customers/CustomerManager.cs @@ -22,20 +22,20 @@ namespace Acme.BookStore.Customers public async Task CreateAsync( Customer customer) { - Check.NotNullOrWhiteSpace(customer.firstName, nameof(customer.firstName)); - Check.NotNullOrWhiteSpace(customer.lastName, nameof(customer.lastName)); + Check.NotNullOrWhiteSpace(customer.FirstName, nameof(customer.FirstName)); + Check.NotNullOrWhiteSpace(customer.LastName, nameof(customer.LastName)); - var existingAuthor = await _customerRepository.FindByPhoneAsync(customer.phone); + var existingAuthor = await _customerRepository.FindByPhoneAsync(customer.Phone); if (existingAuthor != null) { - throw new CustomerErrorException(customer.phone); + throw new CustomerErrorException(customer.Phone); } return new Customer( GuidGenerator.Create(), - customer.firstName, - customer.lastName, - customer.phone, - customer.address + customer.FirstName, + customer.LastName, + customer.Phone, + customer.Address ); } @@ -44,8 +44,8 @@ namespace Acme.BookStore.Customers string firstName,string lastName) { Check.NotNull(customer, nameof(customer)); - Check.NotNullOrWhiteSpace(customer.firstName, nameof(customer.firstName)); - Check.NotNullOrWhiteSpace(customer.lastName, nameof(customer.lastName)); + Check.NotNullOrWhiteSpace(customer.FirstName, nameof(customer.FirstName)); + Check.NotNullOrWhiteSpace(customer.LastName, nameof(customer.LastName)); customer.ChangeFirstName(firstName); customer.ChangeLastName(lastName); diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/BookIssued/EfCoreBookIssueRepository.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/BookIssued/EfCoreBookIssueRepository.cs index 524d851..e7506c0 100644 --- a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/BookIssued/EfCoreBookIssueRepository.cs +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/BookIssued/EfCoreBookIssueRepository.cs @@ -36,15 +36,15 @@ namespace Acme.BookStore.BookIssued List item = ( from bi in dbContext.bookIssues - join cu in dbContext.Customers on bi.customerId equals cu.Id - join bk in dbContext.Books on bi.bookId equals bk.Id - where (bi.customerId == customerId && bi.bookId == bookId && bi.IsDeleted == false) + join cu in dbContext.Customers on bi.CustomerId equals cu.Id + join bk in dbContext.Books on bi.BookId equals bk.Id + where (bi.CustomerId == customerId && bi.BookId == bookId && bi.IsDeleted == false) select new BookIssueList { - bookIssueId = bi.Id, - bookName = bk.Name, - customerName = cu.firstName + " " + cu.lastName, - issueDate = bi.CreationTime + BookIssueId = bi.Id, + BookName = bk.Name, + CustomerName = cu.FirstName + " " + cu.LastName, + IssueDate = bi.CreationTime }).ToList(); return item == null? null : item.FirstOrDefault(); @@ -69,14 +69,14 @@ namespace Acme.BookStore.BookIssued List item = ( from bi in dbContext.bookIssues - join cu in dbContext.Customers on bi.customerId equals cu.Id - join bk in dbContext.Books on bi.bookId equals bk.Id + join cu in dbContext.Customers on bi.CustomerId equals cu.Id + join bk in dbContext.Books on bi.BookId equals bk.Id select new BookIssueList { - bookIssueId = bi.Id, - bookName = bk.Name, - customerName = cu.firstName + " " + cu.lastName, - issueDate = bi.CreationTime + BookIssueId = bi.Id, + BookName = bk.Name, + CustomerName = cu.FirstName + " " + cu.LastName, + IssueDate = bi.CreationTime }).ToList(); return item; diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Customers/EfCoreCustomerRepository.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Customers/EfCoreCustomerRepository.cs index 61a760f..422c2e8 100644 --- a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Customers/EfCoreCustomerRepository.cs +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Customers/EfCoreCustomerRepository.cs @@ -23,7 +23,7 @@ namespace Acme.BookStore.Customers public async Task FindByPhoneAsync(string phone) { var dbSet = await GetDbSetAsync(); - return await dbSet.FirstOrDefaultAsync(cust => cust.phone == phone); + return await dbSet.FirstOrDefaultAsync(cust => cust.Phone == phone); } diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs index fa8a8a8..b29915f 100644 --- a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs @@ -116,15 +116,15 @@ public class BookStoreDbContext : b.ConfigureByConvention(); - b.Property(x => x.firstName) + b.Property(x => x.FirstName) .IsRequired() .HasMaxLength(CustomerConsts.MaxNameLength); - b.Property(x => x.lastName) + b.Property(x => x.LastName) .IsRequired() .HasMaxLength(CustomerConsts.MaxNameLength); - b.Property(x => x.phone) + b.Property(x => x.Phone) .IsRequired() .HasMaxLength(CustomerConsts.MaxPhoneLength); }); diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.Designer.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.Designer.cs new file mode 100644 index 0000000..2932d33 --- /dev/null +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.Designer.cs @@ -0,0 +1,2206 @@ +// +using System; +using Acme.BookStore.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; + +#nullable disable + +namespace Acme.BookStore.Migrations +{ + [DbContext(typeof(BookStoreDbContext))] + [Migration("20240610172008_Table_Naming_Convension")] + partial class Table_Naming_Convension + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Acme.BookStore.Authors.Author", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BirthDate") + .HasColumnType("datetime2"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ShortBio") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.ToTable("AppAuthors", (string)null); + }); + + modelBuilder.Entity("Acme.BookStore.BookIssued.BookIssue", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BookId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("CustomerId") + .HasColumnType("uniqueidentifier"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("AppBookIssued", (string)null); + }); + + modelBuilder.Entity("Acme.BookStore.Books.Book", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Price") + .HasColumnType("real"); + + b.Property("PublishDate") + .HasColumnType("datetime2"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AppBooks", (string)null); + }); + + modelBuilder.Entity("Acme.BookStore.Customers.Customer", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Phone") + .IsRequired() + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.HasKey("Id"); + + b.ToTable("AppCustomers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)") + .HasColumnName("ApplicationName"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("BrowserInfo"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientId"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientIpAddress"); + + b.Property("ClientName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("ClientName"); + + b.Property("Comments") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Comments"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("CorrelationId"); + + b.Property("Exceptions") + .HasColumnType("nvarchar(max)"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HttpMethod") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("HttpMethod"); + + b.Property("HttpStatusCode") + .HasColumnType("int") + .HasColumnName("HttpStatusCode"); + + b.Property("ImpersonatorTenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorTenantId"); + + b.Property("ImpersonatorTenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ImpersonatorTenantName"); + + b.Property("ImpersonatorUserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorUserId"); + + b.Property("ImpersonatorUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ImpersonatorUserName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("TenantName"); + + b.Property("Url") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Url"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("UserId"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "ExecutionTime"); + + b.HasIndex("TenantId", "UserId", "ExecutionTime"); + + b.ToTable("AbpAuditLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2") + .HasColumnName("ExecutionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("MethodName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("MethodName"); + + b.Property("Parameters") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)") + .HasColumnName("Parameters"); + + b.Property("ServiceName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ServiceName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); + + b.ToTable("AbpAuditLogActions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ChangeTime") + .HasColumnType("datetime2") + .HasColumnName("ChangeTime"); + + b.Property("ChangeType") + .HasColumnType("tinyint") + .HasColumnName("ChangeType"); + + b.Property("EntityId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityId"); + + b.Property("EntityTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("EntityTypeFullName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityTypeFullName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); + + b.ToTable("AbpEntityChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("EntityChangeId") + .HasColumnType("uniqueidentifier"); + + b.Property("NewValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("NewValue"); + + b.Property("OriginalValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("OriginalValue"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("PropertyName"); + + b.Property("PropertyTypeFullName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("PropertyTypeFullName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("EntityChangeId"); + + b.ToTable("AbpEntityPropertyChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsAbandoned") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("JobArgs") + .IsRequired() + .HasMaxLength(1048576) + .HasColumnType("nvarchar(max)"); + + b.Property("JobName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("LastTryTime") + .HasColumnType("datetime2"); + + b.Property("NextTryTime") + .HasColumnType("datetime2"); + + b.Property("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint") + .HasDefaultValue((byte)15); + + b.Property("TryCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0); + + b.HasKey("Id"); + + b.HasIndex("IsAbandoned", "NextTryTime"); + + b.ToTable("AbpBackgroundJobs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AllowedProviders") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("DefaultValue") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("IsAvailableToHost") + .HasColumnType("bit"); + + b.Property("IsVisibleToClients") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ValueType") + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpFeatures", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpFeatureGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); + + b.ToTable("AbpFeatureValues", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsActive") + .HasColumnType("bit") + .HasColumnName("IsActive"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastPasswordChangeTime") + .HasColumnType("datetimeoffset"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("ShouldChangePasswordOnNextLogin") + .HasColumnType("bit"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserDelegation", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("EndTime") + .HasColumnType("datetime2"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("StartTime") + .HasColumnType("datetime2"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("AbpUserDelegations", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ClientId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ClientSecret") + .HasColumnType("nvarchar(max)"); + + b.Property("ClientType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsentType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayNames") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("JsonWebKeySet") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + + b.Property("Permissions") + .HasColumnType("nvarchar(max)"); + + b.Property("PostLogoutRedirectUris") + .HasColumnType("nvarchar(max)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("RedirectUris") + .HasColumnType("nvarchar(max)"); + + b.Property("Requirements") + .HasColumnType("nvarchar(max)"); + + b.Property("Settings") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("OpenIddictApplications", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("Scopes") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Subject") + .HasMaxLength(400) + .HasColumnType("nvarchar(400)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationId", "Status", "Subject", "Type"); + + b.ToTable("OpenIddictAuthorizations", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Scopes.OpenIddictScope", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Descriptions") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayNames") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("Resources") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.ToTable("OpenIddictScopes", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationId") + .HasColumnType("uniqueidentifier"); + + b.Property("AuthorizationId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExpirationDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Payload") + .HasColumnType("nvarchar(max)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("RedemptionDate") + .HasColumnType("datetime2"); + + b.Property("ReferenceId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Status") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Subject") + .HasMaxLength(400) + .HasColumnType("nvarchar(400)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("AuthorizationId"); + + b.HasIndex("ReferenceId"); + + b.HasIndex("ApplicationId", "Status", "Subject", "Type"); + + b.ToTable("OpenIddictTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("IsEnabled") + .HasColumnType("bit"); + + b.Property("MultiTenancySide") + .HasColumnType("tinyint"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Providers") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("StateCheckers") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpPermissions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[TenantId] IS NOT NULL"); + + b.ToTable("AbpPermissionGrants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpPermissionGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); + + b.ToTable("AbpSettings", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.SettingDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DefaultValue") + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.Property("Description") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsEncrypted") + .HasColumnType("bit"); + + b.Property("IsInherited") + .HasColumnType("bit"); + + b.Property("IsVisibleToClients") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Providers") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpSettingDefinitions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpTenants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.Property("TenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("TenantId", "Name"); + + b.ToTable("AbpTenantConnectionStrings", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("Actions") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("EntityChanges") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) + .WithMany("PropertyChanges") + .HasForeignKey("EntityChangeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", b => + { + b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) + .WithMany() + .HasForeignKey("ApplicationId"); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => + { + b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) + .WithMany() + .HasForeignKey("ApplicationId"); + + b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null) + .WithMany() + .HasForeignKey("AuthorizationId"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.HasOne("Volo.Abp.TenantManagement.Tenant", null) + .WithMany("ConnectionStrings") + .HasForeignKey("TenantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Navigation("Actions"); + + b.Navigation("EntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Navigation("PropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Navigation("ConnectionStrings"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.cs new file mode 100644 index 0000000..8854172 --- /dev/null +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/20240610172008_Table_Naming_Convension.cs @@ -0,0 +1,78 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Acme.BookStore.Migrations +{ + /// + public partial class Table_Naming_Convension : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.RenameColumn( + name: "phone", + table: "AppCustomers", + newName: "Phone"); + + migrationBuilder.RenameColumn( + name: "lastName", + table: "AppCustomers", + newName: "LastName"); + + migrationBuilder.RenameColumn( + name: "firstName", + table: "AppCustomers", + newName: "FirstName"); + + migrationBuilder.RenameColumn( + name: "address", + table: "AppCustomers", + newName: "Address"); + + migrationBuilder.RenameColumn( + name: "customerId", + table: "AppBookIssued", + newName: "CustomerId"); + + migrationBuilder.RenameColumn( + name: "bookId", + table: "AppBookIssued", + newName: "BookId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.RenameColumn( + name: "Phone", + table: "AppCustomers", + newName: "phone"); + + migrationBuilder.RenameColumn( + name: "LastName", + table: "AppCustomers", + newName: "lastName"); + + migrationBuilder.RenameColumn( + name: "FirstName", + table: "AppCustomers", + newName: "firstName"); + + migrationBuilder.RenameColumn( + name: "Address", + table: "AppCustomers", + newName: "address"); + + migrationBuilder.RenameColumn( + name: "CustomerId", + table: "AppBookIssued", + newName: "customerId"); + + migrationBuilder.RenameColumn( + name: "BookId", + table: "AppBookIssued", + newName: "bookId"); + } + } +} diff --git a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs index 0d17c20..34df9ef 100644 --- a/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs +++ b/aspnet-core/src/Acme.BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs @@ -95,6 +95,9 @@ namespace Acme.BookStore.Migrations b.Property("Id") .HasColumnType("uniqueidentifier"); + b.Property("BookId") + .HasColumnType("uniqueidentifier"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .IsRequired() @@ -110,6 +113,9 @@ namespace Acme.BookStore.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("CreatorId"); + b.Property("CustomerId") + .HasColumnType("uniqueidentifier"); + b.Property("DeleterId") .HasColumnType("uniqueidentifier") .HasColumnName("DeleterId"); @@ -137,12 +143,6 @@ namespace Acme.BookStore.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); - b.Property("bookId") - .HasColumnType("uniqueidentifier"); - - b.Property("customerId") - .HasColumnType("uniqueidentifier"); - b.HasKey("Id"); b.ToTable("AppBookIssued", (string)null); @@ -205,6 +205,10 @@ namespace Acme.BookStore.Migrations b.Property("Id") .HasColumnType("uniqueidentifier"); + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .IsRequired() @@ -233,6 +237,11 @@ namespace Acme.BookStore.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("bit") @@ -247,21 +256,12 @@ namespace Acme.BookStore.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); - b.Property("address") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("firstName") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("lastName") + b.Property("LastName") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); - b.Property("phone") + b.Property("Phone") .IsRequired() .HasMaxLength(14) .HasColumnType("nvarchar(14)");