From c5d9ae7b938132d377777b6e6811f7aff43b5d5d Mon Sep 17 00:00:00 2001 From: Alexandr Sulimov Date: Mon, 31 Jul 2023 08:50:05 +0300 Subject: [PATCH] fix --- .../AccountAccountCategoryRepository.cs | 5 ++ .../Account/AccountRepository.cs | 2 +- .../IAccountAccountCategoryRepository.cs | 1 + MyOffice.Data.Repositories/RepositoryBase.cs | 37 ++++---- .../Users/IUserExternalRepository.cs | 2 - .../Users/IUserRepository.cs | 4 +- .../Users/UserExternalRepository.cs | 5 -- .../Users/UserRepository.cs | 8 +- MyOffice.DbContext/AppDbContextFactory.cs | 9 +- MyOffice.DbContext/RepositoryInitializer.cs | 4 +- .../src/app/model/item.category.model.ts | 2 +- .../item/edit.item.category.component.html | 2 +- .../item/edit.item.category.component.ts | 5 +- .../settings/item/edit.item.component.ts | 2 + .../item/item.category.component.html | 2 +- MyOffice.Services/Account/AccountService.cs | 60 ++++++------- .../Account/Domain/ItemCategoryDto.cs | 14 +++ MyOffice.Services/Account/Domain/ItemDto.cs | 13 +++ MyOffice.Services/Account/Domain/MotionDto.cs | 16 ++++ MyOffice.Services/Currency/CurrencyService.cs | 88 ++++++++++++------- .../Currency/Domain/CurrencyDto.cs | 22 +++++ .../Currency/Domain/CurrencyGlobalDto.cs | 9 ++ .../Currency/Domain/CurrencyRateDto.cs | 12 +++ .../Currency/Domain/CurrencyWithRateDto.cs | 7 ++ MyOffice.Services/Item/ItemService.cs | 70 ++++++++------- .../Mapper/AccountServiceProfile.cs | 41 ++++++++- MyOffice.Web/Controllers/AccountController.cs | 60 +++++++------ MyOffice.Web/Controllers/BaseApiController.cs | 13 ++- .../Controllers/CurrencyController.cs | 40 ++++----- MyOffice.Web/Controllers/GeneralController.cs | 11 ++- .../Controllers/SettingsAccountController.cs | 54 ++++++------ .../Controllers/SettingsItemController.cs | 61 +++++++------ MyOffice.Web/Controllers/UserController.cs | 8 +- .../Identity/Repositories/UserStore.cs | 4 +- .../Account/AccountDetailedViewModel.cs | 17 +--- .../Models/Account/AccountViewModelProfile.cs | 35 ++++++++ ...otionsGetModel.cs => MotionsGetRequest.cs} | 2 +- MyOffice.Web/Models/BaseViewModel.cs | 6 ++ .../Models/Currency/CurrencyRateViewModel.cs | 9 ++ .../Models/Currency/CurrencyViewModel.cs | 50 +++-------- MyOffice.Web/Models/IRequestModel.cs | 5 ++ MyOffice.Web/Models/IResponseModel.cs | 5 ++ .../Models/Item/ItemCategoryViewModel.cs | 24 ++--- MyOffice.Web/Models/Item/ItemViewModel.cs | 43 +++------ MyOffice.Web/Models/Motion/MotionViewModel.cs | 21 +---- .../Models/{Account => }/ViewModelProfile.cs | 2 +- MyOffice.Web/MyOffice.Web.csproj | 2 - MyOffice.Web/Program.cs | 24 +++-- history_for_print.txt | 6 ++ 49 files changed, 546 insertions(+), 398 deletions(-) create mode 100644 MyOffice.Services/Account/Domain/ItemCategoryDto.cs create mode 100644 MyOffice.Services/Account/Domain/ItemDto.cs create mode 100644 MyOffice.Services/Account/Domain/MotionDto.cs create mode 100644 MyOffice.Services/Currency/Domain/CurrencyDto.cs create mode 100644 MyOffice.Services/Currency/Domain/CurrencyGlobalDto.cs create mode 100644 MyOffice.Services/Currency/Domain/CurrencyRateDto.cs create mode 100644 MyOffice.Services/Currency/Domain/CurrencyWithRateDto.cs rename MyOffice.Web/Models/Account/{MotionsGetModel.cs => MotionsGetRequest.cs} (85%) create mode 100644 MyOffice.Web/Models/BaseViewModel.cs create mode 100644 MyOffice.Web/Models/Currency/CurrencyRateViewModel.cs create mode 100644 MyOffice.Web/Models/IRequestModel.cs create mode 100644 MyOffice.Web/Models/IResponseModel.cs rename MyOffice.Web/Models/{Account => }/ViewModelProfile.cs (80%) diff --git a/MyOffice.Data.Repositories/Account/AccountAccountCategoryRepository.cs b/MyOffice.Data.Repositories/Account/AccountAccountCategoryRepository.cs index a9d6791..925fb32 100644 --- a/MyOffice.Data.Repositories/Account/AccountAccountCategoryRepository.cs +++ b/MyOffice.Data.Repositories/Account/AccountAccountCategoryRepository.cs @@ -18,4 +18,9 @@ public class AccountAccountCategoryRepository : AppRepository 0; } + + public bool Add(AccountAccountCategory accountAccountCategory) + { + return AddBase(accountAccountCategory) > 0; + } } \ No newline at end of file diff --git a/MyOffice.Data.Repositories/Account/AccountRepository.cs b/MyOffice.Data.Repositories/Account/AccountRepository.cs index 69a6ab6..1c65fb0 100644 --- a/MyOffice.Data.Repositories/Account/AccountRepository.cs +++ b/MyOffice.Data.Repositories/Account/AccountRepository.cs @@ -94,7 +94,7 @@ public class AccountRepository : AppRepository, IAccountRepository .ThenInclude(x => x.Category) .Include(x => x.AccessRights)! .ThenInclude(x => x.User) - .Include(x => x.Motions)! + //.Include(x => x.Motions)! .FirstOrDefault(x => x.Id == id && x.AccessRights!.Any(r => r.UserId == userId)); } diff --git a/MyOffice.Data.Repositories/Account/IAccountAccountCategoryRepository.cs b/MyOffice.Data.Repositories/Account/IAccountAccountCategoryRepository.cs index 0d2470b..12651d6 100644 --- a/MyOffice.Data.Repositories/Account/IAccountAccountCategoryRepository.cs +++ b/MyOffice.Data.Repositories/Account/IAccountAccountCategoryRepository.cs @@ -6,4 +6,5 @@ public interface IAccountAccountCategoryRepository { List Get(Guid userId, Guid accountId, Guid categoryId); bool Remove(AccountAccountCategory accountAccountCategory); + bool Add(AccountAccountCategory accountAccountCategory); } \ No newline at end of file diff --git a/MyOffice.Data.Repositories/RepositoryBase.cs b/MyOffice.Data.Repositories/RepositoryBase.cs index 34ac212..3226c01 100644 --- a/MyOffice.Data.Repositories/RepositoryBase.cs +++ b/MyOffice.Data.Repositories/RepositoryBase.cs @@ -5,6 +5,7 @@ using DbContext; public class RepositoryBase where TEntity : class { + //TODO: Rename protected readonly AppDbContext _context; protected RepositoryBase( @@ -49,41 +50,37 @@ public class RepositoryBase where TEntity : class return _context.Set().Find(id); } - protected async Task AddBaseAsync(TEntity entity) - { - //await _context.Set().AddAsync(entity); - await _context.AddAsync(entity); - return await SaveChangesAsync(); - } - protected int AddBase(TEntity entity) { - //_context.Set().Add(entity); - _context.Add(entity); - return SaveChanges(); + //_context.Add(entity); + _context.Entry(entity).State = EntityState.Added; + + var result = SaveChanges(); + + _context.Entry(entity).State = EntityState.Detached; + return result; } protected int RemoveBase(TEntity entity) { _context.Set().Remove(entity); + _context.Entry(entity).State = EntityState.Deleted; - return SaveChanges(); - } + var result = SaveChanges(); - protected async Task UpdateBaseAsync(TEntity entity) - { - _context.Attach(entity); - _context.Entry(entity).State = EntityState.Modified; - - return await SaveChangesAsync(); + _context.Entry(entity).State = EntityState.Detached; + return result; } protected int UpdateBase(TEntity entity) { - _context.Attach(entity); + //_context.Attach(entity); _context.Entry(entity).State = EntityState.Modified; - return SaveChanges(); + var result = SaveChanges(); + + _context.Entry(entity).State = EntityState.Detached; + return result; } } \ No newline at end of file diff --git a/MyOffice.Data.Repositories/Users/IUserExternalRepository.cs b/MyOffice.Data.Repositories/Users/IUserExternalRepository.cs index 0bd2b73..ac62aa7 100644 --- a/MyOffice.Data.Repositories/Users/IUserExternalRepository.cs +++ b/MyOffice.Data.Repositories/Users/IUserExternalRepository.cs @@ -4,9 +4,7 @@ using Models.Users; public interface IUserExternalRepository { - Task AddUserExternalAsync(UserExternal external); int AddUserExternal(UserExternal external); - Task AddUserExternalsAsync(IEnumerable claims); Task> GetUserExternalsByUserIdAsync(Guid userId); diff --git a/MyOffice.Data.Repositories/Users/IUserRepository.cs b/MyOffice.Data.Repositories/Users/IUserRepository.cs index c1865a2..9d47ac1 100644 --- a/MyOffice.Data.Repositories/Users/IUserRepository.cs +++ b/MyOffice.Data.Repositories/Users/IUserRepository.cs @@ -10,6 +10,6 @@ public interface IUserRepository Task GetByUserUserNameAsync(string userName); User? GetByUserUserName(string userName); - Task AddUserAsync(User user); - Task UpdateUserAsync(User user); + int AddUser(User user); + int UpdateUser(User user); } \ No newline at end of file diff --git a/MyOffice.Data.Repositories/Users/UserExternalRepository.cs b/MyOffice.Data.Repositories/Users/UserExternalRepository.cs index 9e145e0..bb13386 100644 --- a/MyOffice.Data.Repositories/Users/UserExternalRepository.cs +++ b/MyOffice.Data.Repositories/Users/UserExternalRepository.cs @@ -6,11 +6,6 @@ using Microsoft.EntityFrameworkCore; public class UserExternalRepository : AppRepository, IUserExternalRepository { - public async Task AddUserExternalAsync(UserExternal userExternal) - { - return await AddBaseAsync(userExternal); - } - public int AddUserExternal(UserExternal userExternal) { return AddBase(userExternal); diff --git a/MyOffice.Data.Repositories/Users/UserRepository.cs b/MyOffice.Data.Repositories/Users/UserRepository.cs index da3d4ed..42bfe5c 100644 --- a/MyOffice.Data.Repositories/Users/UserRepository.cs +++ b/MyOffice.Data.Repositories/Users/UserRepository.cs @@ -26,13 +26,13 @@ public class UserRepository : AppRepository, IUserRepository return _context.Users.FirstOrDefault(x => x.UserName == userName); } - public async Task AddUserAsync(User user) + public int AddUser(User user) { - return await AddBaseAsync(user); + return AddBase(user); } - public async Task UpdateUserAsync(User user) + public int UpdateUser(User user) { - return await UpdateBaseAsync(user); + return UpdateBase(user); } } \ No newline at end of file diff --git a/MyOffice.DbContext/AppDbContextFactory.cs b/MyOffice.DbContext/AppDbContextFactory.cs index f765aa1..e67a3e8 100644 --- a/MyOffice.DbContext/AppDbContextFactory.cs +++ b/MyOffice.DbContext/AppDbContextFactory.cs @@ -37,10 +37,17 @@ public class AppDbContextFactory : IDesignTimeDbContextFactory throw new NotSupportedException($"No such provider: [{provider}]"); } +#if DEBUG + + builder.EnableSensitiveDataLogging(true); + builder.EnableDetailedErrors(true); + +#endif + var db = new AppDbContext(providerEnum, builder.Options); db.ChangeTracker.AutoDetectChangesEnabled = false; db.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; - + return db; } } \ No newline at end of file diff --git a/MyOffice.DbContext/RepositoryInitializer.cs b/MyOffice.DbContext/RepositoryInitializer.cs index c212db2..daa7e0c 100644 --- a/MyOffice.DbContext/RepositoryInitializer.cs +++ b/MyOffice.DbContext/RepositoryInitializer.cs @@ -60,7 +60,7 @@ public class RepositoryInitializer /// private static void UpdateCurrentRates(AppDbContext dbContext) { - var lastrates = dbContext.CurrencyRates + var lastRates = dbContext.CurrencyRates .Include(x => x.Currency) .GroupBy(x => new { @@ -71,7 +71,7 @@ public class RepositoryInitializer var currencies = dbContext.Currencies.ToList(); foreach (var currency in currencies) { - var rate = lastrates.FirstOrDefault(x => x.CurrencyId == currency.Id); + var rate = lastRates.FirstOrDefault(x => x.CurrencyId == currency.Id); if (rate != null) { currency.CurrentRateId = rate.Id; diff --git a/MyOffice.SPA/src/app/model/item.category.model.ts b/MyOffice.SPA/src/app/model/item.category.model.ts index 304f7b3..73a4191 100644 --- a/MyOffice.SPA/src/app/model/item.category.model.ts +++ b/MyOffice.SPA/src/app/model/item.category.model.ts @@ -2,5 +2,5 @@ export interface ItemCategoryModel { id?: string, name?: string, allowDelete: boolean, - isInternal: boolean, + internal: boolean, } diff --git a/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.html b/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.html index 6c99e60..30dc0eb 100644 --- a/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.html +++ b/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.html @@ -15,7 +15,7 @@
- Is internal motion + Is internal motion
diff --git a/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.ts b/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.ts index fe60a65..a7ad5b0 100644 --- a/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.ts +++ b/MyOffice.SPA/src/app/pages/settings/item/edit.item.category.component.ts @@ -39,11 +39,10 @@ export class SettingsItemCategoryEditComponent { this.category.name, [Validators.required], ], - isInternal: [ - this.category.isInternal, + internal: [ + this.category?.internal ?? false, ], }); - console.log(this.editForm.value); } closeDialog(): void { diff --git a/MyOffice.SPA/src/app/pages/settings/item/edit.item.component.ts b/MyOffice.SPA/src/app/pages/settings/item/edit.item.component.ts index 760bb62..a58bbe0 100644 --- a/MyOffice.SPA/src/app/pages/settings/item/edit.item.component.ts +++ b/MyOffice.SPA/src/app/pages/settings/item/edit.item.component.ts @@ -59,6 +59,8 @@ export class SettingsItemEditComponent { } onSubmitClick() { + console.log(this.item); + console.log(this.editForm.value); if (this.editForm.valid) { this.errorMessage = undefined; this.httpClient diff --git a/MyOffice.SPA/src/app/pages/settings/item/item.category.component.html b/MyOffice.SPA/src/app/pages/settings/item/item.category.component.html index e303398..f56ed7c 100644 --- a/MyOffice.SPA/src/app/pages/settings/item/item.category.component.html +++ b/MyOffice.SPA/src/app/pages/settings/item/item.category.component.html @@ -27,7 +27,7 @@ {{item.name}} - done + done