public virtual async Task <TEntity> UpdateAsync(TViewModel viewModel) { using (_logger.BeginScope($"{nameof(CoreApplicationService<TEntity, TViewModel, TRepository>)}.{nameof(CoreApplicationService<TEntity, TViewModel, TRepository>.UpdateAsync)}")) { var stopwatch = Stopwatch.StartNew(); try { var entity = Mapper.Map <TViewModel, TEntity>(viewModel); entity = LinkedRepository.Update(entity); var commitAsyncResult = await UnitOfWork.CommitAsync(); _logger.LogInformation("View model: {@ViewModel}, entity: {@Entity}", viewModel, entity); return(entity); } catch (Exception e) { _logger.LogError(e, "Method failed."); throw; } finally { _logger.LogDebug("Method finished. Duration: {Duration}", stopwatch.Elapsed); } } }
public RepoService( LinkedRepository linkedRepository, ZipRepositoryBase <Mined> minedRepository ) { this.linkedRepository = linkedRepository; this.minedRepository = minedRepository; minedRepository.SetNames(Module.Name); }
public virtual async Task <IEnumerable <TEntity> > GetAsync(Expression <Func <TEntity, bool> > expression = null) { using (_logger.BeginScope($"{nameof(CoreApplicationService<TEntity, TViewModel, TRepository>)}.{nameof(CoreApplicationService<TEntity, TViewModel, TRepository>.GetAsync)}")) { var stopwatch = Stopwatch.StartNew(); try { _logger.LogInformation("Expression: {@Expression}", expression); var entities = LinkedRepository.Get(expression).ToList(); return(entities); } catch (Exception e) { _logger.LogError(e, "Method failed."); throw; } finally { _logger.LogDebug("Method finished. Duration: {Duration}", stopwatch.Elapsed); } } }