public async Task <Response> GetAsync(string id) { var organisation = await _organisationRepository.GetAsync(Guid.Parse(id)); if (organisation == default) { return(new Response(false, HttpStatusCode.NotFound, Messages.Org_NotExists)); } var orgCounter = await _organisationCounterRepository.GetLastByOrganisation(organisation); var totalScans = _organisationCounterRepository.Count(); return(new Response(new OrganisationDTO(organisation, orgCounter, totalScans), HttpStatusCode.OK)); }
public async Task <Response> GetAsync(string id) { var organisation = await _organisationRepository.GetAsync(Guid.Parse(id)); if (organisation == default) { return(new Response(false, HttpStatusCode.NotFound, Messages.Org_NotExists)); } var accessLogs = await _organisationAccessLogRepository.GetByCurrentDayByOrganisation(organisation); var orgCounter = accessLogs .Where(oal => oal.Organisation == organisation) .Where(oal => oal.CreatedAt.Value.Date == DateTime.UtcNow.Date) .OrderByDescending(t => t.CreatedAt) .FirstOrDefault(); var totalScans = accessLogs.Count(oal => oal.Organisation == organisation && oal.CreatedAt.Value.Date == DateTime.UtcNow.Date); return(new Response(new OrganisationDTO(organisation, orgCounter, totalScans, GetAccessLogBalance(accessLogs)), HttpStatusCode.OK)); }
public async Task<Credentials> CreateAsync(UserDto userDto) { var user = _mapper.Map<User>(userDto); user.Id = Guid.NewGuid(); user.Role = userDto.Role; user.Status = UserStatus.Active; var generatedPassword = PasswordManager.GeneratePassword(PasswordManager.CharSet.All, 8); _passwordManager.SetHashedPassword(user, generatedPassword); user.OrganisationName = (await _organisationRepository.GetAsync(userDto.OrganisationId)).Name; await _repository.CreateAsync(user); try { _bus.Publish(new UserRegisteredMessage() {Email = userDto.Email, Password = generatedPassword}); } catch(Exception ex) { throw new Exception(ex.Message); } return new Credentials() { Email = userDto.Email, Password = generatedPassword }; }
public async Task <OrganizationDto> GetAsync(Guid id) { return(_mapper.Map <OrganizationDto>(await _repository.GetAsync(id))); }