public async Task <ServiceResult <UserDto> > Authenticate(LoginDto p_LoginDto) { var firstValidation = _fluentValidatorLogin.Validate(p_LoginDto); if (!firstValidation.IsValid) { return(firstValidation.ToServiceResult <UserDto>(null)); } ServiceResult <UserDto> result = new ServiceResult <UserDto>(); var user = await _userManager.Users.SingleOrDefaultAsync(x => x.UserName == p_LoginDto.Usuario); var passwordResult = await _userManager.CheckPasswordAsync(user, p_LoginDto.Password); if (user == null || !passwordResult || user.IsDeleted == true) { const NotificationType notificationType = NotificationType.Error; result.AddNotification(notificationType, "Usuario y/o Contraseña Incorrecto"); return(result); } UserDto userDto = new UserDto(); var token = GenerateJwtTokenHandlerAsync(user.Email, user); var filePath = _fileService.GetByIdFile(user.Id); userDto.Id = user.Id; userDto.Dni = user.Dni; userDto.FirstName = user.FirstName; userDto.LastName = user.LastName; userDto.UserName = user.UserName; userDto.PhoneNumber = user.PhoneNumber; userDto.Token = await token; userDto.Path = filePath.Response.Paths; userDto.CategoryId = user.CategoryId; userDto.Roles = _rolesService.FindByIdRoles(user.Id).Result.Response; userDto.RolesNames = _rolesService.RolesNames(user.Id).Response; result.Response = userDto; return(result); }
public ServiceResult <CreateDistributionDto> CreateDistribution(CreateDistributionDto distribution) { ServiceResult <CreateDistributionDto> result = new ServiceResult <CreateDistributionDto>(); NotificationType msg = 0; var validation = _fluentValidatorDistribution.Validate(distribution); if (!validation.IsValid) { return(_mapper.Map <ServiceResult <CreateDistributionDto> >(validation.ToServiceResult <CreateDistributionDto>(null))); } Distribution newDistribution = new Distribution() { Id = new Guid(), Name = distribution.Name, Description = distribution.Description, OrganismId = distribution.OrganismId }; _distributionContext.Add(newDistribution); _distributionContext.SaveChanges(); var newOrganism = _distributionContext.Organisms.FirstOrDefault(x => x.Id == newDistribution.Id); List <User> listUsers = _distributionContext.Users.Where(x => x.DistributionId == newDistribution.Id).ToList(); if (newOrganism == null) { msg = NotificationType.Info; result.AddNotification(msg, "No hay organismos para esta distribución"); } if (listUsers.Count == 0) { msg = NotificationType.Info; result.AddNotification(msg, "No hay usuarios para esta distribución"); } newDistribution.Organism = newOrganism; newDistribution.Users = listUsers; return(new ServiceResult <CreateDistributionDto>(distribution)); }