Exemple #1
0
        public override int GetHashCode()
        {
            var hashCode = 1701420055;

            hashCode = hashCode * -1521134295 + PhonePrefix.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(PhonePrefixAsString);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(NameAbbreviation);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Name);

            return(hashCode);
        }
Exemple #2
0
        private Contact CreateContact(int number)
        {
            var female          = _rnd.Next(2) == 1;
            int middleNameCount = _rnd.Next(5);

            if (middleNameCount > 2)
            {
                middleNameCount = 0;
            }

            var contact = new Contact(Guid.NewGuid());

            contact.Language.Value = SelectLanguage();
            contact.LastName.Value = LastNames.Skip(_rnd.Next(LastNames.Count())).First();

            if (female)
            {
                contact.FirstName.Value = FemaleFirstNames.Skip(_rnd.Next(FemaleFirstNames.Count())).First();
                var middleNames = new List <string>();
                for (int i = 0; i < middleNameCount; i++)
                {
                    middleNames.Add(FemaleFirstNames.Skip(_rnd.Next(FemaleFirstNames.Count())).First());
                }
                contact.MiddleNames.Value = string.Join(" ", middleNames);
            }
            else
            {
                contact.FirstName.Value = MaleFirstNames.Skip(_rnd.Next(MaleFirstNames.Count())).First();
                var middleNames = new List <string>();
                for (int i = 0; i < middleNameCount; i++)
                {
                    middleNames.Add(MaleFirstNames.Skip(_rnd.Next(MaleFirstNames.Count())).First());
                }
                contact.MiddleNames.Value = string.Join(" ", middleNames);
            }

            contact.BirthDate.Value    = new DateTime(1960, 1, 1).AddDays(_rnd.NextDouble() * 40d * 365d);
            contact.Organization.Value = "New Organization";

            var homeMail = new ServiceAddress(Guid.NewGuid());

            homeMail.Service.Value    = ServiceType.EMail;
            homeMail.Category.Value   = AddressCategory.Home;
            homeMail.Precedence.Value = contact.ServiceAddresses.MaxOrDefault(a => a.Precedence.Value, 0) + 1;
            homeMail.Address.Value    =
                "stefan+" +
                contact.FirstName.Value.ToLowerInvariant() + "." +
                contact.LastName.Value.ToLowerInvariant() + "@savvy.ch";
            homeMail.Contact.Value = contact;

            if (_rnd.Next(3) != 0)
            {
                var mobile = new ServiceAddress(Guid.NewGuid());
                mobile.Service.Value    = ServiceType.Phone;
                mobile.Category.Value   = AddressCategory.Mobile;
                mobile.Precedence.Value = contact.ServiceAddresses.MaxOrDefault(a => a.Precedence.Value, 0) + 1;
                mobile.Address.Value    =
                    MobilePrefix.Skip(_rnd.Next(MobilePrefix.Count())).First() +
                    ComposeNumber();
                mobile.Contact.Value = contact;
            }

            if (_rnd.Next(3) == 0)
            {
                var phone = new ServiceAddress(Guid.NewGuid());
                phone.Service.Value    = ServiceType.Phone;
                phone.Category.Value   = AddressCategory.Mobile;
                phone.Precedence.Value = contact.ServiceAddresses.MaxOrDefault(a => a.Precedence.Value, 0) + 1;
                phone.Address.Value    =
                    PhonePrefix.Skip(_rnd.Next(PhonePrefix.Count())).First() +
                    ComposeNumber();
                phone.Contact.Value = contact;
            }

            var place         = Places.Skip(_rnd.Next(Places.Count())).First();
            var postalAddress = new PostalAddress(Guid.NewGuid());

            postalAddress.Country.Value    = GetCountry("Schweiz");
            postalAddress.State.Value      = GetState(place.Item3);
            postalAddress.PostalCode.Value = place.Item1.ToString();
            postalAddress.Place.Value      = place.Item2;
            postalAddress.Street.Value     =
                Streets.Skip(_rnd.Next(Streets.Count())).First() +
                " " + (_rnd.Next(23) + 1).ToString();
            postalAddress.Precedence.Value = contact.PostalAddresses.MaxOrDefault(a => a.Precedence.Value, 0) + 1;
            postalAddress.Contact.Value    = contact;

            var subscription = new Subscription(Guid.NewGuid());

            subscription.Contact.Value   = contact;
            subscription.Feed.Value      = GetFeed("Piratenpartei Zentralschweiz", null);
            subscription.StartDate.Value = new DateTime(2018, 12, 18);

            switch (_rnd.Next(4))
            {
            case 0:
                var subscription2 = new Subscription(Guid.NewGuid());
                subscription2.Contact.Value   = contact;
                subscription2.Feed.Value      = GetFeed("Piratenpartei Zug", "Piratenpartei Zentralschweiz");
                subscription2.StartDate.Value = new DateTime(2018, 12, 18);
                break;

            case 1:
                var subscription3 = new Subscription(Guid.NewGuid());
                subscription3.Contact.Value   = contact;
                subscription3.Feed.Value      = GetFeed("Piratenpartei Luzern", "Piratenpartei Zentralschweiz");
                subscription3.StartDate.Value = new DateTime(2018, 12, 18);
                break;
            }

            var tagAssignment1 = new TagAssignment(Guid.NewGuid());

            tagAssignment1.Tag.Value     = GetTag("Partizipationsmails", TagUsage.Mailing, TagMode.Default | TagMode.Manual);
            tagAssignment1.Contact.Value = contact;

            if (_rnd.Next(5) < 4)
            {
                var tagAssignment2 = new TagAssignment(Guid.NewGuid());
                tagAssignment2.Tag.Value     = GetTag("Verantstaltungsmails", TagUsage.Mailing, TagMode.Default | TagMode.Manual | TagMode.Self);
                tagAssignment2.Contact.Value = contact;
            }

            if (_rnd.Next(5) < 4)
            {
                var tagAssignment3 = new TagAssignment(Guid.NewGuid());
                tagAssignment3.Tag.Value     = GetTag("Aktionsmails", TagUsage.Mailing, TagMode.Default | TagMode.Manual | TagMode.Self);
                tagAssignment3.Contact.Value = contact;
            }

            if (_rnd.Next(5) < 3)
            {
                var tagAssignment4 = new TagAssignment(Guid.NewGuid());
                tagAssignment4.Tag.Value     = GetTag("Aktivist", TagUsage.None, TagMode.Manual);
                tagAssignment4.Contact.Value = contact;
            }

            _db.Save(contact);

            return(contact);
        }
Exemple #3
0
    public async void OnEnable()
    {
        _Instance = this;
        try
        {
            SceneManager.UnloadSceneAsync("ConnectionFailed");
        }
        catch (ArgumentException ex) { }
        User usr;

        userId = um.getCurrentUserId();
        token  = um.getCurrentSessionToken();
        SceneManager.LoadScene("Loader", LoadSceneMode.Additive);
        UnityThreadHelper.CreateThread(() =>
        {
            usr = um.getUser(userId, token);
            UnityThreadHelper.Dispatcher.Dispatch(async() =>
            {
                SceneManager.UnloadSceneAsync("Loader");
                if (usr != null)
                {
                    string prefix             = PhonePrefix.getPhonePrefix(usr.country_code.ToUpper());
                    string flagBytesString    = um.GetFlagByte(usr.country_code);
                    country_phone_prefix.text = "(" + prefix + ")";
                    country_code.text         = usr.country_code.ToUpper();
                    Texture2D txt             = new Texture2D(1, 1);
                    Sprite newSprite          = null;
                    try
                    {
                        Byte[] img = Convert.FromBase64String(flagBytesString);
                        txt.LoadImage(img);
                        newSprite           = Sprite.Create(txt as Texture2D, new Rect(0f, 0f, txt.width, txt.height), Vector2.zero);
                        country_flag.sprite = newSprite;
                        country_flag.transform.localScale = Vector3.one;
                    }
                    catch (ArgumentNullException ex) {}
                    if (!string.IsNullOrEmpty(usr.birthday))
                    {
                        Birthdate.text = DateTime.Parse(usr.birthday).ToString("yyyy-MM-dd");
                        PlaceHolderAge.transform.localScale = Vector3.zero;
                        Age.interactable = false;
                        GameObject.Find("editable birthday").transform.localScale = Vector3.zero;
                    }
                    else
                    {
                        PlaceHolderAge.transform.localScale = Vector3.one;
                    }
                    if (usr.country_code.ToLower().Equals("us"))
                    {
                        Personel_id_number.gameObject.SetActive(true);
                    }
                    if (!string.IsNullOrEmpty(usr.personal_id_number))
                    {
                        Personel_id_number.text     = usr.personal_id_number;
                        Personel_id_number.readOnly = true;
                        GameObject.Find("editable Personal_id_number").transform.localScale = Vector3.zero;
                    }
                    if (!string.IsNullOrEmpty(usr.lastname))
                    {
                        LastName.text = usr.lastname;
                        GameObject.Find("editable lastname").transform.localScale = Vector3.zero;
                        LastName.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.firstname))
                    {
                        FirstName.text = usr.firstname;
                        GameObject.Find("editable firstname").transform.localScale = Vector3.zero;
                        FirstName.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.adress))
                    {
                        Address.text = usr.adress;
                        GameObject.Find("editable adress").transform.localScale = Vector3.zero;
                        Address.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.city))
                    {
                        City.text = usr.city;
                        GameObject.Find("editable city").transform.localScale = Vector3.zero;
                        City.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.zipcode))
                    {
                        ZipCode.text = usr.zipcode.ToString();
                        GameObject.Find("editable zipCode").transform.localScale = Vector3.zero;
                        ZipCode.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.country))
                    {
                        Country.text = usr.country;
                        GameObject.Find("editable country").transform.localScale = Vector3.zero;
                        Country.readOnly = true;
                    }
                    if (!string.IsNullOrEmpty(usr.phone))
                    {
                        Phone.text = usr.phone.Substring(prefix.Length);
                        GameObject.Find("editable phone").transform.localScale = Vector3.zero;
                        Phone.readOnly = true;
                    }
                    Phone.onEndEdit.AddListener(async delegate
                    {
                        if (Phone.text != "" && Phone.text != usr.phone)
                        {
                            string formatedPhone = prefix + Phone.text;
                            Debug.Log("formatedPhone: " + formatedPhone);
                            string[] attrib =
                            {
                                "phone"
                            };
                            string[] value =
                            {
                                formatedPhone
                            };
                            show("Button_Phone", "Loader");
                            if (await updateStripeAccount("phone", formatedPhone))
                            {
                                updateUser(attrib, value);
                                show("Button_Phone", "Accepted");
                            }
                            else
                            {
                                show("Button_Phone", "Declined");
                                UnityThreadHelper.Dispatcher.Dispatch(() =>
                                {
                                    Phone_Containter.GetComponent <Animator>().SetBool("invalid", true);
                                });
                            }
                        }
                    });
                    Phone.onValueChanged.AddListener(delegate
                    {
                        if (Phone_Containter.GetComponent <Animator>().GetBool("invalid") == true)
                        {
                            Phone_Containter.GetComponent <Animator>().SetBool("invalid", false);
                        }
                    });
                    LastName.onEndEdit.AddListener(async delegate
                    {
                        if (LastName.text != "" && LastName.text != usr.lastname)
                        {
                            string[] attrib =
                            {
                                "lastname"
                            };
                            string[] value =
                            {
                                LastName.text
                            };
                            show("Button_LastName", "Loader");
                            if (await updateStripeAccount("lastname", LastName.text))
                            {
                                updateUser(attrib, value);
                                show("Button_LastName", "Accepted");
                            }
                            else
                            {
                                show("Button_LastName", "Declined");
                            }
                        }
                        else
                        {
                            LastName.text = usr.lastname;
                        }
                    });
                    FirstName.onEndEdit.AddListener(async delegate
                    {
                        if (FirstName.text != "" && FirstName.text != usr.firstname)
                        {
                            string[] attrib =
                            {
                                "firstname"
                            };
                            string[] value =
                            {
                                FirstName.text
                            };
                            show("Button_FirstName", "Loader");
                            if (await updateStripeAccount("firstname", FirstName.text))
                            {
                                updateUser(attrib, value);
                                show("Button_FirstName", "Accepted");
                            }
                            else
                            {
                                show("Button_FirstName", "Declined");
                            }
                        }
                        else
                        {
                            FirstName.text = usr.firstname;
                        }
                    });
                    Address.onEndEdit.AddListener(async delegate
                    {
                        if (Address.text != "" && Address.text != usr.adress)
                        {
                            string[] attrib =
                            {
                                "address"
                            };
                            string[] value =
                            {
                                Address.text
                            };
                            show("Button_Adress", "Loader");
                            if (await updateStripeAccount("address", Address.text))
                            {
                                updateUser(attrib, value);
                                show("Button_Adress", "Accepted");
                            }
                            else
                            {
                                show("Button_Adress", "Declined");
                            }
                        }
                        else
                        {
                            Address.text = usr.adress;
                        }
                    });
                    City.onEndEdit.AddListener(async delegate
                    {
                        if (City.text != "" && City.text != usr.city)
                        {
                            string[] attrib =
                            {
                                "city"
                            };
                            string[] value =
                            {
                                City.text
                            };
                            show("Button_City", "Loader");
                            if (await updateStripeAccount("city", City.text))
                            {
                                updateUser(attrib, value);
                                show("Button_City", "Accepted");
                            }
                            else
                            {
                                show("Button_City", "Declined");
                            }
                        }
                        else
                        {
                            City.text = usr.city;
                        }
                    });
                    ZipCode.onEndEdit.AddListener(async delegate
                    {
                        if (ZipCode.text.ToString() != "0" && ZipCode.text != usr.zipcode.ToString())
                        {
                            string[] attrib =
                            {
                                "zipcode"
                            };
                            string[] value =
                            {
                                ZipCode.text
                            };
                            show("Button_ZipCode", "Loader");
                            if (await updateStripeAccount("zipcode", ZipCode.text))
                            {
                                updateUser(attrib, value);
                                show("Button_ZipCode", "Accepted");
                            }
                            else
                            {
                                show("Button_ZipCode", "Declined");
                            }
                        }
                        else
                        {
                            if (usr.zipcode.ToString() != "0")
                            {
                                ZipCode.text = usr.zipcode.ToString();
                            }
                        }
                    });
                    Country.onEndEdit.AddListener(async delegate
                    {
                        if (Country.text != "" && Country.text != usr.country)
                        {
                            string[] attrib =
                            {
                                "country"
                            };
                            string[] value =
                            {
                                Country.text
                            };
                            show("Button_Country", "Loader");
                            UnityThreadHelper.CreateThread(() =>
                            {
                                updateUser(attrib, value);
                                UnityThreadHelper.Dispatcher.Dispatch(() =>
                                {
                                    show("Button_Country", "Accepted");
                                });
                            });
                        }
                        else
                        {
                            Country.text = usr.country;
                        }
                    });
                    Personel_id_number.onEndEdit.AddListener(delegate
                    {
                        if (Personel_id_number.text != "" && Personel_id_number.text != usr.personal_id_number)
                        {
                            string[] attrib =
                            {
                                "personel_id_number"
                            };
                            string[] value =
                            {
                                Personel_id_number.text
                            };
                            updateUser(attrib, value);
                        }
                        else
                        {
                            Personel_id_number.text = usr.personal_id_number;
                        }
                    });
                }
                else
                {
                    UnityThreadHelper.Dispatcher.Dispatch(() =>
                    {
                        try
                        {
                            SceneManager.UnloadSceneAsync("ConnectionFailed");
                        }
                        catch (ArgumentException ex) { }
                        ConnectivityController.CURRENT_ACTION = ConnectivityController.PERSONNEL_INFO_ACTION;
                        SceneManager.LoadScene("ConnectionFailed", LoadSceneMode.Additive);
                        try
                        {
                            SceneManager.UnloadSceneAsync("Loader");
                        }
                        catch (ArgumentException ex) { }
                    });
                }
            });
        });
    }