private async Task <RegisterIndividualModel> InitRegisterIndividual(RegisterIndividualModel model) { model.Citizenships = Enumerable.Empty <SelectListItem>(); model.Countries = Enumerable.Empty <SelectListItem>(); model.States = Enumerable.Empty <SelectListItem>(); var countryResponse = await WepApiMethod.SendApiAsync <List <CountryModel> >(HttpVerbs.Get, $"Administration/Country"); if (countryResponse.isSuccess) { model.Citizenships = new SelectList(countryResponse.Data.Where(c => c.Name != "Malaysia").OrderBy(o => o.Name), "Id", "Name", 0); model.Countries = model.Citizenships; model.MalaysiaCountryId = countryResponse.Data.Where(c => c.Name == "Malaysia").Select(s => s.Id).FirstOrDefault(); model.CountryCode = countryResponse.Data.Where(c => c.Name == "Malaysia").Select(s => s.CountryCode).FirstOrDefault(); } var stateResponse = await WepApiMethod.SendApiAsync <List <StateModel> >(HttpVerbs.Get, $"Administration/State"); if (stateResponse.isSuccess) { var states = stateResponse.Data; model.States = new SelectList(states.OrderBy(o => o.Name), "Id", "Name", 0); } return(model); }
public async Task <ActionResult> RegisterIndividual() { var model = new RegisterIndividualModel(); model.IsMalaysian = true; model = await InitRegisterIndividual(model); return(View(model)); }
public async Task <ActionResult> RegisterIndividual(RegisterIndividualModel model) { if (model.IsMalaysian) { ModelState.Remove("PassportNo"); ModelState.Remove("CitizenshipId"); ModelState.Remove("PostCodeNonMalaysian"); ModelState.Remove("State"); ModelState.Remove("CountryId"); model.CountryId = model.MalaysiaCountryId; } else { ModelState.Remove("ICNo"); ModelState.Remove("PostCodeMalaysian"); ModelState.Remove("StateId"); } var emailResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsEmailExist?id={null}&email={model.Email}"); if (emailResponse.Data) { ModelState.AddModelError("Email", Language.Auth.ValidIsExistEmail); } var icno = model.ICNo; if (!model.IsMalaysian) { icno = model.PassportNo; } var icnoResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsICNoExist?id={null}&icno={icno}"); if (icnoResponse.Data) { if (model.IsMalaysian) { ModelState.AddModelError("ICNo", Language.Auth.ValidIsExistICNo); } else { ModelState.AddModelError("PassportNo", Language.Auth.ValidIsExistPassportNo); } } var passwordResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Auth/ValidatePassword?password={model.Password}"); if (!passwordResponse.isSuccess) { var error = JsonConvert.DeserializeObject <Dictionary <string, string> >(passwordResponse.ErrorMessage); if (error.ContainsKey("Message")) { ModelState.AddModelError("Password", error["Message"]); } } if (ModelState.IsValid) { var response = await WepApiMethod.SendApiAsync <dynamic>(HttpVerbs.Post, $"Auth/RegisterIndividual", model); if (response.isSuccess) { ParameterListToSend notificationParameter = new ParameterListToSend(); notificationParameter.UserFullName = model.Name; notificationParameter.Link = $"<a href = '" + BaseURL + "/Auth/ActivateAccount/" + response.Data.UID + "' > here </a>"; notificationParameter.LoginDetail = $"Email: { model.Email }\nPassword: { model.Password }"; CreateAutoReminder notification = new CreateAutoReminder { NotificationType = NotificationType.ActivateAccount, NotificationCategory = NotificationCategory.Learning, ParameterListToSend = notificationParameter, StartNotificationDate = DateTime.Now, ReceiverId = new List <int> { (int)response.Data.UserId } }; var responseNotification = await WepApiMethod.SendApiAsync <ReminderResponse>(HttpVerbs.Post, $"Reminder/SLA/GenerateAutoNotificationReminder/", notification); TempData["SuccessMessage"] = Language.Auth.AlertRegisterSuccess; return(RedirectToAction("Login", "Auth", new { area = "" })); } } model = await InitRegisterIndividual(model); return(View(model)); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var view = inflater.Inflate(Resource.Layout.activity_registration_individual_person, container, false); #region Объявление переменных s_email_individual = view.FindViewById <EditText>(Resource.Id.s_email_individual); s_phone_individual = view.FindViewById <EditText>(Resource.Id.s_phone_individual); s_login_individual = view.FindViewById <EditText>(Resource.Id.s_login_individual); s_pass_individual = view.FindViewById <EditText>(Resource.Id.s_pass_individual); s_pass_confirmation_individual = view.FindViewById <EditText>(Resource.Id.s_pass_confirmation_individual); s_surname_individual = view.FindViewById <EditText>(Resource.Id.s_surname_individual); s_name_individual = view.FindViewById <EditText>(Resource.Id.s_name_individual); s_patronymic_individual = view.FindViewById <EditText>(Resource.Id.s_patronymic_individual); s_passport_series_individual = view.FindViewById <EditText>(Resource.Id.s_passport_series_individual); s_passport_number_individual = view.FindViewById <EditText>(Resource.Id.s_passport_number_individual); s_date_birth_individual = view.FindViewById <EditText>(Resource.Id.s_date_birth_individual); s_department_code_individual = view.FindViewById <EditText>(Resource.Id.s_department_code_individual); btn_make_request = view.FindViewById <Button>(Resource.Id.btn_make_request); check_personal_data_processing_individual = view.FindViewById <CheckBox>(Resource.Id.check_personal_data_processing_individual); check_contract_oferta_individual = view.FindViewById <CheckBox>(Resource.Id.check_contract_oferta_individual); preloader = view.FindViewById <ProgressBar>(Resource.Id.preloader); s_date_birth_individual.Focusable = false; s_date_birth_individual.Clickable = false; #endregion s_date_birth_individual.Click += S_date_birth_individual_Click; check_personal_data_processing_individual.Click += async delegate { if (check_personal_data_processing_individual.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_individual.Checked = false; }); Dialog dialog = alert.Create(); dialog.Show(); } else { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); } }; } }; check_contract_oferta_individual.Click += async delegate { if (check_contract_oferta_individual.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_individual.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_pass_individual.Text == s_pass_confirmation_individual.Text) { if (check_contract_oferta_individual.Checked == true && check_personal_data_processing_individual.Checked == true) { try { RegisterIndividualModel register = new RegisterIndividualModel { Login = s_login_individual.Text, Password = s_pass_individual.Text, Email = s_email_individual.Text, Phone = s_phone_individual.Text, ClientType = "person", ClientLastName = s_surname_individual.Text, ClientName = s_name_individual.Text, ClientPatronymic = s_patronymic_individual.Text, ClientBirthday = s_date_birth_individual.Text, ClientPassportSerie = s_passport_series_individual.Text, ClientPassportId = s_passport_number_individual.Text, ClientPassportCode = s_department_code_individual.Text }; using (var client = ClientHelper.GetClient()) { AuthService.InitializeClient(client); var o_data = await AuthService.RegisterIndividual(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.AddOrUpdateValue("PresenceOnPage", "true"); CrossSettings.Current.AddOrUpdateValue("role", "user"); CrossSettings.Current.AddOrUpdateValue("login", s_login_individual.Text); CrossSettings.Current.AddOrUpdateValue("password", s_pass_individual.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); }
/// <summary> /// Регистрация физического лица. /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <RegisterResponse> > RegisterIndividual(RegisterIndividualModel model) { try { //status & message var formContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "login", model.Login }, { "password", model.Password }, { "email", model.Email }, { "phone", model.Phone }, { "client_type", model.ClientType }, { "client_last_name", model.ClientLastName }, { "client_name", model.ClientName }, { "client_patronymic", model.ClientPatronymic }, { "client_birthday", model.ClientBirthday }, { "client_passport_serie", model.ClientPassportSerie }, { "client_passport_id", model.ClientPassportId }, { "client_passport_code", model.ClientPassportCode } }); 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 reg = JsonConvert.DeserializeObject <RegisterResponse>(s_result); o_data.Message = reg.message; o_data.Status = response.StatusCode; o_data.ResponseData = new RegisterResponse { message = reg.message, user = reg.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); } }
public IHttpActionResult RegisterIndividual([FromBody] RegisterIndividualModel model) { if (model.IsMalaysian) { ModelState.Remove("model.PassportNo"); ModelState.Remove("model.CitizenshipId"); ModelState.Remove("model.PostCodeNonMalaysian"); ModelState.Remove("model.State"); } else { ModelState.Remove("model.ICNo"); ModelState.Remove("model.PostCodeMalaysian"); ModelState.Remove("model.StateId"); } if (ModelState.IsValid) { var countryCode = db.Country.Where(c => c.Id == model.CountryId && c.Display).FirstOrDefault(); if (countryCode == null) { return(InternalServerError()); } Authentication.GeneratePassword(model.Password); //get default role var roles = db.RoleDefault.Where(r => r.DefaultRoleType == DefaultRoleType.DefaultIndividual).ToList(); List <UserRole> userroles = new List <UserRole>(); foreach (var role in roles) { userroles.Add(new UserRole { Role = role.Role }); } var account = new UserAccount { LoginId = model.Email, IsEnable = false, HashPassword = Authentication.HashPassword, Salt = Authentication.Salt, LoginAttempt = 0, UserRoles = userroles }; var individual = new IndividualProfile { IsMalaysian = model.IsMalaysian, CitizenshipId = model.CitizenshipId, Address1 = model.Address1, Address2 = model.Address2, PostCode = model.IsMalaysian ? model.PostCodeMalaysian : model.PostCodeNonMalaysian, City = model.City, StateName = model.State, StateId = model.StateId, CountryId = model.CountryId }; var user = new User { UserType = UserType.Individual, Name = model.Name, Email = model.Email, ICNo = model.IsMalaysian ? model.ICNo : model.PassportNo, MobileNo = model.MobileNo, CountryCode = countryCode.CountryCode1, Display = true, CreatedBy = null, CreatedDate = DateTime.Now, UserAccount = account, IndividualProfile = individual }; db.User.Add(user); ActivateAccount activateAccount = new ActivateAccount { UID = Authentication.RandomString(50, true),//random alphanumeric UserId = user.Id, CreatedDate = DateTime.Now, IsActivate = false }; db.ActivateAccount.Add(activateAccount); db.SaveChanges(); return(Ok(new { UserId = user.Id, UID = activateAccount.UID })); } return(BadRequest(ModelState)); }