public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.activity_legal_entity_registration, container, false);

            #region Объявление переменных

            s_login                = view.FindViewById <EditText>(Resource.Id.s_login_entity);
            s_password             = view.FindViewById <EditText>(Resource.Id.s_pass_entity);
            s_pass_confirmation    = view.FindViewById <EditText>(Resource.Id.s_pass_confirmation_entity);
            s_email                = view.FindViewById <EditText>(Resource.Id.s_email_entity);
            s_orgPostalAddress     = view.FindViewById <EditText>(Resource.Id.s_mailing_address_entity);
            s_clientLastName       = view.FindViewById <EditText>(Resource.Id.s_lastname_entity);
            s_clientName           = view.FindViewById <EditText>(Resource.Id.s_name_entity);
            s_clientPatronymic     = view.FindViewById <EditText>(Resource.Id.s_patronymic_entity);
            s_orgPhone             = view.FindViewById <EditText>(Resource.Id.s_phone_individual);
            s_orgName              = view.FindViewById <EditText>(Resource.Id.s_nomination_entity);
            s_orgKpp               = view.FindViewById <EditText>(Resource.Id.s_KPP_entity);
            s_orgInn               = view.FindViewById <EditText>(Resource.Id.s_INN_entity);
            s_orgOgrn              = view.FindViewById <EditText>(Resource.Id.s_OGRN_entity);
            s_orgBank              = view.FindViewById <EditText>(Resource.Id.s_bank_entity);
            s_orgBankpayment       = view.FindViewById <EditText>(Resource.Id.s_payment_account_entity);
            s_orgBankCorrespondent = view.FindViewById <EditText>(Resource.Id.s_correspondent_account_entity);
            s_orgBankBik           = view.FindViewById <EditText>(Resource.Id.s_BIK_entity);
            s_orgLegalAddress      = view.FindViewById <EditText>(Resource.Id.s_legal_address_entity);
            btn_make_request       = view.FindViewById <Button>(Resource.Id.btn_make_request);
            check_personal_data_processing_entity = view.FindViewById <CheckBox>(Resource.Id.check_personal_data_processing_entity);
            check_contract_oferta_entity          = view.FindViewById <CheckBox>(Resource.Id.check_contract_oferta_entity);
            preloader = view.FindViewById <ProgressBar>(Resource.Id.preloader);
            s_orgPhone.SetMaxLines(11);
            s_orgInn.SetMaxLines(9);
            s_orgKpp.SetMaxLines(9);
            s_orgOgrn.SetMaxLines(15);
            s_orgBank.SetMaxLines(15);
            s_orgBankpayment.SetMaxLines(20);
            s_orgBankCorrespondent.SetMaxLines(20);
            s_orgBankBik.SetMaxLines(9);

            #endregion

            check_personal_data_processing_entity.Click += async delegate
            {
                if (check_personal_data_processing_entity.Checked == true)
                {
                    using (var client = ClientHelper.GetClient())
                    {
                        WebService.Home.HomeService.InitializeClient(client);
                        var o_data = await WebService.Home.HomeService.Privacy();


                        if (o_data.Status == HttpStatusCode.OK)
                        {
                            AgreementResponse o_user_data = new AgreementResponse();
                            o_user_data = o_data.ResponseData;

                            Android.App.FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction();
                            AlertDialog.Builder             alert        = new AlertDialog.Builder(Activity);
                            alert.SetTitle("Согласие на обработку персональных данных");
                            alert.SetMessage(o_user_data.Agreement);

                            alert.SetPositiveButton("Принимаю", (senderAlert, args) =>
                            {
                            });
                            alert.SetNegativeButton("Не принимаю", (senderAlert, args) =>
                            {
                                check_personal_data_processing_entity.Checked = false;
                            });
                            Dialog dialog = alert.Create();
                            dialog.Show();
                        }
                        else
                        {
                            Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show();
                        }
                    };
                }
            };

            check_contract_oferta_entity.Click += async delegate
            {
                if (check_contract_oferta_entity.Checked == true)
                {
                    using (var client = ClientHelper.GetClient())
                    {
                        WebService.Home.HomeService.InitializeClient(client);
                        var o_data = await WebService.Home.HomeService.Offer();

                        if (o_data.Status == HttpStatusCode.OK)
                        {
                            AgreementResponse o_user_data = new AgreementResponse();
                            o_user_data = o_data.ResponseData;

                            Android.App.FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction();
                            AlertDialog.Builder             alert        = new AlertDialog.Builder(Activity);
                            alert.SetTitle("Согласие с договором офертой");
                            alert.SetMessage(o_user_data.Agreement);

                            alert.SetPositiveButton("Принимаю", (senderAlert, args) =>
                            {
                            });
                            alert.SetNegativeButton("Не принимаю", (senderAlert, args) =>
                            {
                                check_contract_oferta_entity.Checked = false;
                            });
                            Dialog dialog = alert.Create();
                            dialog.Show();
                        }
                        else
                        {
                            Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show();
                        }
                    };
                }
            };


            btn_make_request.Click += async delegate
            {
                if (CheckingOnNullOrEmptyOfStrings())
                {
                    Toast.MakeText(Activity, "Пожалуйста, заполните все поля. ", ToastLength.Long).Show();
                }
                else
                {
                    if (s_password.Text == s_pass_confirmation.Text)
                    {
                        if (check_contract_oferta_entity.Checked == true && check_personal_data_processing_entity.Checked == true)
                        {
                            try
                            {
                                RegisterLegalModel register = new RegisterLegalModel
                                {
                                    Login                = s_login.Text,
                                    Password             = s_password.Text,
                                    Email                = s_email.Text,
                                    OrgPhone             = s_orgPhone.Text,
                                    ClientType           = "organization",
                                    ClientLastName       = s_clientLastName.Text,
                                    ClientName           = s_clientName.Text,
                                    ClientPatronymic     = s_clientPatronymic.Text,
                                    OrgPostalAddress     = s_orgPostalAddress.Text,
                                    OrgName              = s_orgName.Text,
                                    OrgKpp               = s_orgKpp.Text,
                                    OrgInn               = s_orgInn.Text,
                                    OrgOgrn              = s_orgOgrn.Text,
                                    OrgBank              = s_orgBank.Text,
                                    OrgBankpayment       = s_orgBankpayment.Text,
                                    OrgBankCorrespondent = s_orgBankCorrespondent.Text,
                                    OrgBankBik           = s_orgBankBik.Text,
                                    OrgLegalAddress      = s_orgLegalAddress.Text
                                };

                                using (var client = ClientHelper.GetClient())
                                {
                                    AuthService.InitializeClient(client);
                                    var o_data = await AuthService.RegisterLegal(register);

                                    if (o_data.Status == HttpStatusCode.OK)
                                    {
                                        Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show();
                                        RegisterResponse o_user_data = new RegisterResponse();
                                        o_user_data = o_data.ResponseData;

                                        preloader.Visibility = Android.Views.ViewStates.Invisible;

                                        //CrossSettings.Current.GetValueOrDefault("PresenceOnPage", "true");
                                        CrossSettings.Current.AddOrUpdateValue("role", "client");

                                        CrossSettings.Current.AddOrUpdateValue("login", s_login.Text);
                                        CrossSettings.Current.AddOrUpdateValue("password", s_password.Text);
                                        CrossSettings.Current.AddOrUpdateValue("token", o_user_data.user.token);
                                        CrossSettings.Current.AddOrUpdateValue("check", "0");
                                        StaticUser.NeedToCreateOrder = true;
                                        StaticUser.PresenceOnPage    = true;

                                        Android.App.FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction();
                                        Intent main = new Intent(Activity, typeof(MainActivity));
                                        StartActivity(main);
                                    }

                                    else
                                    {
                                        Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show();
                                    }
                                };
                            }
                            catch (Exception ex)
                            {
                                Toast.MakeText(Activity, ex.Message, ToastLength.Long).Show();
                            }
                        }
                        else
                        {
                            Toast.MakeText(Activity, "Необходимо дать согласие на обработку " +
                                           "персональных данных и согласиться с договором офертой", ToastLength.Long).Show();
                        }
                    }
                    else
                    {
                        Toast.MakeText(Activity, "Пароли не совпадают ", ToastLength.Long).Show();
                    }
                }
            };

            return(view);
        }
示例#2
0
        /// <summary>
        /// Регистрация юридического лица.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static async Task <ServiceResponseObject <RegisterResponse> > RegisterLegal(RegisterLegalModel model)
        {
            try
            {
                //status & message
                var formContent = new FormUrlEncodedContent(new Dictionary <string, string>
                {
                    { "login", model.Login },
                    { "password", model.Password },
                    { "email", model.Email },
                    { "org_phone", model.OrgPhone },
                    { "client_type", model.ClientType },
                    { "client_last_name", model.ClientLastName },
                    { "client_name", model.ClientName },
                    { "client_patronymic", model.ClientPatronymic },
                    { "org_postal_address", model.OrgPostalAddress },
                    { "org_name", model.OrgName },
                    { "org_kpp", model.OrgKpp },
                    { "org_inn", model.OrgInn },
                    { "org_ogrn", model.OrgOgrn },
                    { "org_bank", model.OrgBank },
                    { "org_bank_payment", model.OrgBankpayment },
                    { "org_bank_correspondent", model.OrgBankCorrespondent },
                    { "org_bank_bik", model.OrgBankBik },
                    { "org_legal_address", model.OrgLegalAddress }
                });

                HttpResponseMessage response = await _httpClient.PostAsync($"client", formContent);

                string s_result;
                using (HttpContent responseContent = response.Content)
                {
                    s_result = await responseContent.ReadAsStringAsync();
                }

                ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>();

                switch (response.StatusCode)
                {
                case HttpStatusCode.BadRequest:
                {
                    ErrorResponseObject error = new ErrorResponseObject();
                    error          = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result);
                    o_data.Status  = response.StatusCode;
                    o_data.Message = error.Errors[0];
                    return(o_data);
                }

                case HttpStatusCode.InternalServerError:
                {
                    ErrorResponseObject error = new ErrorResponseObject();
                    o_data.Status  = response.StatusCode;
                    o_data.Message = "Внутренняя ошибка сервера 500";
                    return(o_data);
                }

                case HttpStatusCode.NotFound:
                {
                    ErrorResponseObject error = new ErrorResponseObject();
                    o_data.Status  = response.StatusCode;
                    o_data.Message = "Ресурс не найден 404";
                    return(o_data);
                }

                case HttpStatusCode.OK:
                {
                    var register = JsonConvert.DeserializeObject <RegisterResponse>(s_result);
                    o_data.Message      = register.message;
                    o_data.Status       = response.StatusCode;
                    o_data.ResponseData = new RegisterResponse
                    {
                        message = register.message,
                        user    = register.user
                    };
                    return(o_data);
                }

                default:
                {
                    throw new Exception(response.StatusCode.ToString() + " Server Error");
                }
                }
            }
            catch (Exception ex)
            {
                ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>();
                o_data.Message = ex.Message;
                return(o_data);
            }
        }