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 ?? ""); } }
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); } }
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); } }
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); }
/// <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; } }
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)); } } } } } } } } }
private void Start() { maleBase = Resources.Load("names/male") as NamesBase; femaleBase = Resources.Load("names/female") as NamesBase; sernamesBase = Resources.Load("names/SernamesBase") as SernamesBase; }