コード例 #1
0
        public async Task <IActionResult> RegisterManagementCompany(CancellationToken cancellationToken,
                                                                    [FromBody] CreateManagementCompanyBinding binding,
                                                                    [FromServices] IManagementCompanyRepository repository)
        {
            var managementCompany = await repository.Get(binding.Name, cancellationToken);

            if (managementCompany != null)
            {
                return(BadRequest(new { errorText = "Компания с таким именем уже зарегистрирована." }));
            }

            managementCompany = new ManagementCompany(binding.Name, binding.Password, binding.Info);

            if (binding.Avatar != null)
            {
                byte[] avatarData = null;

                using (var binaryReader = new BinaryReader(binding.Avatar.OpenReadStream()))
                {
                    avatarData = binaryReader.ReadBytes((int)binding.Avatar.Length);
                }

                managementCompany.PutAvatar(avatarData);
            }

            await repository.Save(managementCompany);

            return(await GetToken(managementCompany.ManagementCompanyId));
        }
コード例 #2
0
        private async void btnRegister_Click(object sender, RoutedEventArgs e)
        {
            lbErrorMessage.Content = String.Empty;

            if (String.IsNullOrEmpty(tbRegistrationName.Text))
            {
                lbErrorMessage.Content = "Введите имя!";
                return;
            }

            else if (FieldsValidation.PasswordCheck(psbRegistrationPass.Password) == null)
            {
                lbErrorMessage.Content = "Введите корректный пароль!\n" +
                                         "Он должен содержать хотя бы одну цифру, однин символ нижнего (A-Z) и верхнего регистров (a-z).\n" +
                                         "Минимальная длина равна 8.";
                return;
            }

            else if (FieldsValidation.PasswordCheck(psbRegistrationRepeatPass.Password) == null)
            {
                lbErrorMessage.Content = "Повторите корректный пароль!";
                return;
            }

            else if (psbRegistrationPass.Password != psbRegistrationRepeatPass.Password)
            {
                lbErrorMessage.Content = "Пароли не совпадают!";
                return;
            }

            if (String.IsNullOrEmpty(tbRegistrationInfo.Text))
            {
                lbErrorMessage.Content = "Введите информацию!";
                return;
            }

            string hashPassword = SHA256Realization.ComputeSha256Hash(psbRegistrationPass.Password);

            var binding = new CreateManagementCompanyBinding()
            {
                Name     = tbRegistrationName.Text,
                Password = hashPassword,
                Info     = tbRegistrationInfo.Text
            };

            bool isRegistrated = await Server.RegisterManagementCompany(binding);

            if (!isRegistrated)
            {
                MessageBox.Show("Компания с таким именем уже зарегистрирована!");
                return;
            }
            else
            {
                var managementCompanyWindow = new ManagementCompanyWindow();
                managementCompanyWindow.Show(tbRegistrationName.Text);
                this.Close();
            }
        }
コード例 #3
0
        public static async Task <bool> RegisterManagementCompany(CreateManagementCompanyBinding binding)
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Add("Accept", "application/json");
            client.DefaultRequestHeaders.Add("User-Agent", "ServiceForWorking");

            HttpResponseMessage response = await
                                           client.PostAsJsonAsync("https://localhost:44303/RegisterManagementCompany", binding);

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }