Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }