private async Task <UserCacheDto> GetUserCacheFromDB(long Id) { var query = await(from User in _userRepository.GetAll().Where(w => w.Id == Id) join KhachHang in _khachHangRepository.GetAll() on User.Id equals KhachHang.UserId into J1 from KhachHang in J1.DefaultIfEmpty() select new { User.Id, User.UserName, User.Name, User.IsCustomer, CustomerId = KhachHang != null ? KhachHang.Id : 0 }).FirstOrDefaultAsync(); var result = new UserCacheDto(); if (query != null) { result.Id = query.Id; result.UserName = query.UserName; result.Name = query.Name; result.IsCustomer = query.IsCustomer; if (query.CustomerId > 0) { result.CustomerId = query.CustomerId; } } return(result); }
private async Task CreateOrUpdateAsync(UserCache data, UserCacheDto dto) { _mapper.Map(dto, data); if (data == null) { var userCacheItem = _mapper.Map <UserCache>(dto); await _userCacheRepository.CreateAsync(userCacheItem); } else { await _userCacheRepository.UpdateWithSpecifiedColumnsOnlyAsync(data, cache => cache.UrlHistory, cache => cache.ModifiedBy, cache => cache.ModifiedOn); } }