public async Task <IActionResult> GetInformationByInviteCode(IEmailService emailService, [FromBody] FinishContragentRegistrationRequest request, [FromServices] IInviteService inviteService, [FromServices] Provider provider) { var xinAndInviter = inviteService.DecodeCode(request.Code); var arrayXinAndInviter = xinAndInviter.Split('>'); var xin = arrayXinAndInviter[0]; var InviterEmail = arrayXinAndInviter[1]; if (!string.IsNullOrEmpty(xin) && new XinAttribute().IsValid(xin)) { using (var repository = new Repository <Contragent>(provider)) { var contragent = repository.Get(u => u.Xin == xin).Select(u => new ContragentInfoResponse() { Xin = u.Xin, Name = u.FullName, }).SingleOrDefault(); if (contragent != null) { var settingsNotificationRep = new Repository <NotificationSettings>(repository); var notificationSettingsSender = await settingsNotificationRep.Get(x => x.User.Email == InviterEmail).SingleAsync(); if (notificationSettingsSender.InviteSend) { emailService.SendEmail(InviterEmail, "Приглашенный Вами пользователь зарегистрировался на Smartcontract.kz", $"Приглашенный Вами пользователь {contragent.Name}, {contragent.Xin} зарегистрировался в системе Smartcontract.kz." + "Теперь Вы можете обмениваться электронными документами."); } return(Json(ApiResponse.Success(contragent))); } } } return(Json(ApiResponse.Failed(ApiErrorCode.ValidationError, "Не верный код приглашения"))); }