public CasedFIO Get(string surname, string firstName, Gender gender) { CasedFIO result = new CasedFIO(); Capitalize cap = new Capitalize(); surname = cap.Capitalizer(surname); firstName = cap.Capitalizer(firstName); var sc = mixedCasers.SurnameCaser; var fc = mixedCasers.FirstNameCaser; result.Nominative.Surname = sc.GetCase(surname, Gender.Undefined, Case.Nominative); result.Nominative.FirstName = fc.GetCase(firstName, Gender.Undefined, Case.Nominative); result.Ablative.Surname = sc.GetCase(surname, gender, Case.Ablative); result.Dative.Surname = sc.GetCase(surname, gender, Case.Dative); result.Genitive.Surname = sc.GetCase(surname, gender, Case.Genitive); result.Prepositional.Surname = sc.GetCase(surname, gender, Case.Prepositional); result.Ablative.FirstName = fc.GetCase(firstName, gender, Case.Ablative); result.Dative.FirstName = fc.GetCase(firstName, gender, Case.Dative); result.Genitive.FirstName = fc.GetCase(firstName, gender, Case.Genitive); result.Prepositional.FirstName = fc.GetCase(firstName, gender, Case.Prepositional); Action <CasedSimpleFIO> fullcalcer = (fio) => fio.Full = fio.Surname + " " + fio.FirstName; Action <CasedSimpleFIO> abbrcalcer = (fio) => fio.Abbr = fio.Surname + " " + fio.FirstName[0] + "."; Action <CasedSimpleFIO> iocalcer = (fio) => fio.IO = fio.FirstName; Action <CasedSimpleFIO> complexcalcer = fio => { fullcalcer(fio); abbrcalcer(fio); iocalcer(fio); }; complexcalcer(result.Genitive); complexcalcer(result.Ablative); complexcalcer(result.Dative); complexcalcer(result.Prepositional); complexcalcer(result.Nominative); return(result); }
public virtual string Capitalizer(string str) { return(c.Capitalizer(str)); }