public async Task <Unit> Handle(UpdateEnterpriseCommand request, CancellationToken cancellationToken) { try { var entity = await _context.Enterprises .FirstOrDefaultAsync(x => x.Id == request.EnterpriseId, cancellationToken) ?? throw new Exception($@"Предприятие с идентификатором {request.EnterpriseId} не найдено."); _mapper.Map(request, entity); if (request.UserId.HasValue) { var user = await _userManager.FindByIdAsync(request.UserId.Value.ToString()) ?? throw new Exception($@"Пользователь с идентификатором {request.UserId} не найден."); entity.User = user; } await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(UserChangePasswordCommand request, CancellationToken cancellationToken) { try { var user = await _userManager.FindByIdAsync(request.UserId.ToString()) ?? throw new Exception($@"Пользователь с идентификатором {request.UserId} не найден."); var token = await _userManager.GeneratePasswordResetTokenAsync(user); (await _userManager.ResetPasswordAsync(user, token, request.NewPassword)).CheckResult(); (await _userManager.UpdateSecurityStampAsync(user)).CheckResult(); user.PasswordText = request.NewPassword; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(UpdateTemplateCommand request, CancellationToken cancellationToken) { try { var template = await _context.Templates.FirstOrDefaultAsync(x => x.Id == request.Id, cancellationToken) ?? throw new Exception($"Шаблон с идентификатором {request.Id} не найден."); _mapper.Map(request, template); await using var memoryStream = new MemoryStream(); await request.FormFile.CopyToAsync(memoryStream, cancellationToken); template.Content = memoryStream.ToArray(); template.FileName = request.FormFile.FileName; template.ContentType = request.FormFile.ContentType; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(UploadVetisStatementCommand request, CancellationToken cancellationToken) { try { var user = await _context.Users .Include(x => x.Enterprises) .FirstOrDefaultAsync(x => x.Id == request.UserId, cancellationToken) ?? throw new Exception($@"Пользователь с идентификатором {request.UserId} не найден."); await using var memoryStream = new MemoryStream(); await request.FormFile.CopyToAsync(memoryStream, cancellationToken); var path = await _fileService.Save(request.FormFile.FileName, memoryStream.ToArray()); user.VetisStatement = new MercuryFileInfo { Name = request.FormFile.FileName, Path = path, ContentType = request.FormFile.ContentType }; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(CreateTemplateCommand request, CancellationToken cancellationToken) { try { var entity = _mapper.Map <Template>(request); await using var memoryStream = new MemoryStream(); await request.FormFile.CopyToAsync(memoryStream, cancellationToken); entity.Content = memoryStream.ToArray(); entity.FileName = request.FormFile.FileName; entity.ContentType = request.FormFile.ContentType; _context.Templates.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(CreateUserFromApplicantCommand request, CancellationToken cancellationToken) { try { var applicant = await _context.Applicants .FirstOrDefaultAsync(x => x.Id == request.ApplicantId, cancellationToken) ?? throw new Exception($@"Заявитель с идентификатором {request.ApplicantId} не найден."); if (applicant.Status == ApplicantStatus.Confirmed) { throw new Exception($"Заявитель {applicant.Inn} уже зарегистрирован как пользователь"); } var password = _passwordService.GeneratePassword(10); await _mediator.Send(new CreateUserCommand { UserName = applicant.Inn, Password = password, Inn = applicant.Inn, Title = applicant.Title, Contact = applicant.Email, PhoneNumber = applicant.PhoneNumber, MercuryLogin = applicant.MercuryLogin, MercuryPassword = applicant.MercuryPassword }, cancellationToken); var user = await _userManager.Users.AsNoTracking() .Include(x => x.Enterprises) .FirstOrDefaultAsync(x => x.NormalizedUserName.Equals(applicant.Inn), cancellationToken) ?? throw new Exception($@"Пользователь с именем {applicant.Inn} не найден."); await _mediator.Send(new EditUserRolesCommand { UserId = user.Id.ToString(), Roles = new [] { _roleOptions.Guest } }, cancellationToken); applicant.Status = ApplicantStatus.Confirmed; await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(CreateApplicantCommand request, CancellationToken cancellationToken) { try { var applicant = _mapper.Map <Applicant>(request); applicant.Status = ApplicantStatus.New; _context.Applicants.Add(applicant); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(DeleteEnterpriseCommand request, CancellationToken cancellationToken) { try { var entity = await _context.Enterprises .FirstOrDefaultAsync(x => x.Id == request.EnterpriseId, cancellationToken) ?? throw new Exception($@"Предприятие с идентификатором {request.EnterpriseId} не найдено."); _context.Enterprises.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <Unit> Handle(CreateEnterpriseCommand request, CancellationToken cancellationToken) { try { var user = await _context.Users.FirstOrDefaultAsync(x => x.Id == request.UserId, cancellationToken) ?? throw new Exception($@"Пользователь с идентификатором {request.UserId} не найден."); var entity = _mapper.Map <Enterprise>(request); entity.User = user; _context.Enterprises.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception e) { Console.WriteLine(e); throw; } }