Esempio n. 1
0
        public static string MakeFullNameEISPP(this NamesBase model)
        {
            switch (model.UicTypeId)
            {
            case NomenclatureConstants.UicTypes.EIK:
            case NomenclatureConstants.UicTypes.Bulstat:
                return(model.FullName ?? "");

            default:
                string result = model.FirstName;
                if (!string.IsNullOrEmpty(model.MiddleName))
                {
                    result += " " + model.MiddleName;
                }
                if (!string.IsNullOrEmpty(model.FamilyName))
                {
                    result += " " + model.FamilyName;
                }
                if (!string.IsNullOrEmpty(model.Family2Name))
                {
                    result += " " + model.Family2Name;
                }
                return(result ?? "");
            }
        }
Esempio n. 2
0
        public static string MakeFullName(this NamesBase model)
        {
            //Ако е избрана институция се връща директно пълното име
            if (model.Person_SourceType > 0 && model.Person_SourceType != SourceTypeSelectVM.EisppPerson)
            {
                return(model.FullName);
            }
            switch (model.UicTypeId)
            {
            case NomenclatureConstants.UicTypes.EIK:
            case NomenclatureConstants.UicTypes.Bulstat:
                return(model.FullName);

            default:
                string result = model.FirstName;
                if (!string.IsNullOrEmpty(model.MiddleName))
                {
                    result += " " + model.MiddleName;
                }
                if (!string.IsNullOrEmpty(model.FamilyName))
                {
                    result += " " + model.FamilyName;
                }
                if (!string.IsNullOrEmpty(model.Family2Name))
                {
                    result += " " + model.Family2Name;
                }
                return(result);
            }
        }
Esempio n. 3
0
 private void Load(string path, NamesBase namesBase)
 {
     try
     {
         string       line;
         StreamReader streamReader = new StreamReader(path);
         using (streamReader)
         {
             namesBase.names = new List <string>();
             do
             {
                 line = streamReader.ReadLine();
                 if (line != null)
                 {
                     line = line.Replace("\r", String.Empty);
                     if (!namesBase.names.Contains(line))
                     {
                         namesBase.names.Add(line);
                     }
                 }
             } while (line != null);
             streamReader.Close();
         }
     }
     catch (Exception e)
     {
         Debug.LogError(e.Message);
     }
 }
Esempio n. 4
0
    public override void OnInspectorGUI()
    {
        NamesBase names = (NamesBase)target;

        EditorGUILayout.LabelField("Contains " + names.names.Count + " names.");

        names.nameSex = (NamesBase.Sex)EditorGUILayout.EnumPopup("Sex of name:", names.nameSex);
        if (GUILayout.Button("Load base"))
        {
            string path = EditorUtility.OpenFilePanel("Choose a file", "", "txt");
            Load(path, names);
        }
        EditorUtility.SetDirty(target);
    }
Esempio n. 5
0
        /// <summary>
        /// Копира имената и идентификатора от друга инстанция
        /// </summary>
        /// <param name="model"></param>
        /// <param name="source"></param>
        public static void CopyFrom(this NamesBase model, NamesBase source, bool copySourceData = true)
        {
            model.Uic            = source.Uic?.Trim();
            model.UicTypeId      = source.UicTypeId;
            model.FirstName      = source.FirstName?.Trim();
            model.MiddleName     = source.MiddleName?.Trim();
            model.FamilyName     = source.FamilyName?.Trim();
            model.Family2Name    = source.Family2Name?.Trim();
            model.DepartmentName = source.DepartmentName?.Trim();
            model.LatinName      = source.LatinName;
            model.FullName       = source.MakeFullName();

            if (copySourceData)
            {
                model.Person_SourceId   = source.Person_SourceId;
                model.Person_SourceType = source.Person_SourceType;
                model.Person_SourceCode = source.Person_SourceCode;
            }
        }
Esempio n. 6
0
    private void Search(NamesBase namesBase, string username)
    {
        List <string> namesList = namesBase.names;

        NamesBase.Sex sex = namesBase.nameSex;
        string        usernameWithoutSpaces = username.Replace(" ", String.Empty);

        foreach (var name in namesList)
        {
            string bufName = usernameWithoutSpaces;
            bool   correct = false;
            foreach (char nameChar in name)
            {
                int index = bufName.IndexOf(nameChar);
                if (index == -1)
                {
                    correct = false;
                    break;
                }
                bufName = bufName.Remove(index, 1);
                correct = true;
            }
            if (correct)
            {
                if (bufName.Length > 1)
                {
                    //тут мы нашли имя.
                    //надо проверить нет ли его ещё в базе (может другого пола). Если нет, надо найти фамилию
                    List <NameSernamePare> nameSernamePare;
                    lock (result)
                    {
                        nameSernamePare = result.FindAll(x => x.name == name);
                    }

                    if (nameSernamePare.Count > 0)
                    {
                        if (nameSernamePare[0].sex != sex)
                        {
                            nameSernamePare.ForEach(x =>
                            {
                                lock (x)
                                {
                                    x.sex = NamesBase.Sex.Both;
                                }
                            });
                        }
                        else
                        {
                            Debug.LogWarning("Something wrong!");
                        }
                    }
                    else
                    {
                        if (sernamesBase.SernameList.Count > bufName.Length)
                        {
                            List <string> correctSernames = sernamesBase.SernameList[bufName.Length - 1].sernames;
                            foreach (string sername in correctSernames)
                            {
                                string leftChars = bufName; //оставшиеся символы
                                foreach (char sernameChar in sername)
                                {
                                    int index = leftChars.IndexOf(sernameChar);
                                    if (index != -1)
                                    {
                                        leftChars = leftChars.Remove(index, 1);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                if (leftChars.Length == 0)
                                {
                                    lock (result)
                                    {
                                        result.Add(new NameSernamePare(name, sername, sex));
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
Esempio n. 7
0
 private void Start()
 {
     maleBase     = Resources.Load("names/male") as NamesBase;
     femaleBase   = Resources.Load("names/female") as NamesBase;
     sernamesBase = Resources.Load("names/SernamesBase") as SernamesBase;
 }