Advertisement
Guest User

TokenEditController

a guest
Dec 12th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.58 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4. using UnityEngine;
  5. using UnityEngine.SceneManagement;
  6. using UnityEngine.UI;
  7.  
  8. public class TokenEditController : MonoBehaviour
  9. {
  10.     private UserDTO _user;
  11.     private Text _header;
  12.     private InputField _email;
  13.     private InputField _phone;
  14.     private InputField _login;
  15.     private Text _messageText;
  16.  
  17.     void Start()
  18.     {
  19.         _user = UserController.GetUserById(PlayerPrefs.GetString("UserEditId"));
  20.         _header = GameObject.FindGameObjectWithTag("HeaderText").GetComponent<Text>();
  21.         _messageText = GameObject.FindGameObjectWithTag("MessageText").GetComponent<Text>();
  22.         _messageText.text = "";
  23.         _login = GameObject.FindGameObjectWithTag("LoginText").GetComponent<InputField>();
  24.         _phone = GameObject.FindGameObjectWithTag("PhoneText").GetComponent<InputField>();
  25.         _email = GameObject.FindGameObjectWithTag("EmailText").GetComponent<InputField>();
  26.         _email.text = _user.Email;
  27.         _phone.text = _user.Phone;
  28.         _login.text = _user.Login;
  29.         _header.text = "Учётные данные для" + Environment.NewLine + _user.FirstName + " " + _user.MiddleName + " " + _user.LastName;
  30.     }
  31.  
  32.     public void OnBackButtonPressed()
  33.     {
  34.         SceneManager.LoadScene("UserEdit");
  35.     }
  36.  
  37.     public void OnConfirmButtonPressed()
  38.     {
  39.         _messageText.text = "";
  40.         _email.text = _email.text.ToLower();
  41.         _phone.text = _phone.text.ToLower();
  42.         _login.text = _login.text.ToLower();
  43.         Regex loginRegex = new Regex(@"[a-z0-9_-]{5,15}"),
  44.                  emailRegex = new Regex(@"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"),
  45.                  phoneRegex = new Regex(@"((8|\+7)-?)?\(?\d{3}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}");
  46.  
  47.         bool _loginCondition = false, _phoneCondition = false, _emailCondition = false;
  48.  
  49.         if (_login.text == "")
  50.             _messageText.text += "Поле \"Логин\" должно быть заполнено" + Environment.NewLine;
  51.         else if (loginRegex.Match(_login.text).Length != _login.text.Length)
  52.             _messageText.text += "Недопустимый логин" + Environment.NewLine;
  53.         else _loginCondition = true;
  54.  
  55.         if (_email.text != "" && emailRegex.Match(_email.text).Length != _email.text.Length)
  56.             _messageText.text += "Недопустимый адрес эл.почты" + Environment.NewLine;
  57.         else _emailCondition = true;
  58.  
  59.         if (_phone.text != "" && phoneRegex.Match(_phone.text).Length != _phone.text.Length)
  60.             _messageText.text += "Недопустимый номер телефона" + Environment.NewLine;
  61.         else _phoneCondition = true;
  62.  
  63.         if (_loginCondition && _phoneCondition && _emailCondition)
  64.         {
  65.             bool _loginExistInDB = true, _phoneExistInDB = true, _emailExistInDB = true;
  66.            
  67.             if (_login.text == _user.Login || UserController.GetUser(_login.text) == null)
  68.                 _loginExistInDB = false;
  69.             else _messageText.text += "Такой логин уже используется" + Environment.NewLine;
  70.  
  71.             if (_email.text == _user.Email || UserController.GetUser(_email.text) == null)
  72.                 _emailExistInDB = false;
  73.             else _messageText.text += "Такой адрес эл.почты уже используется" + Environment.NewLine;
  74.  
  75.             if (_phone.text == _user.Phone || UserController.GetUser(_phone.text) == null)
  76.                 _phoneExistInDB = false;
  77.             else _messageText.text += "Такой номер телефона уже используется" + Environment.NewLine;
  78.  
  79.             if (!_loginExistInDB && !_emailExistInDB && !_phoneExistInDB)
  80.             {
  81.                 if (UserController.UpdateUserToken(new UserDTO
  82.                 {
  83.                     Id = _user.Id,
  84.                     Login = _login.text,
  85.                     Email = _email.text == "" ? null : _email.text,
  86.                     Phone = _phone.text == "" ? null : _phone.text
  87.                 }))
  88.                     SceneManager.LoadScene("UserEdit");
  89.             }
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement