using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.HelperClasses; using Kreta.Core.ConnectionType; using Kreta.DataAccessManual; namespace Kreta.BusinessLogic.Helpers { public class TelepulesHelper : LogicBase { public TelepulesHelper(IConnectionType connectionType) : base(connectionType) { } public List GetTelepulesek() { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TelepulesDal(); var ds = dal.GetSzuletesiHelysegNevData(); List list = (from telepules in ds.Tables[0].AsEnumerable() orderby telepules.Field("TELEPULESNEV") select new TelepulesListCO { TelepulesNev = telepules.Field("TELEPULESNEV"), Id = telepules.Field("ID") }).ToList(); return list; }); } public List GetSzuletesiHelysegNevList() { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TelepulesDal(); var ds = dal.GetSzuletesiHelysegNevData(); var list = new List(); foreach (DataRow row in ds.Tables[0].Rows) { var co = new TelepulesListCO { TelepulesNev = row["TELEPULESNEV"].ToString() }; list.Add(co); } //NOTE: Az adatszótárból Budapest többször fel van sorolva az összes kerülettel, ezért kiszedjük mindet, // mert a születési helynél nem tüntetünk fel kerületet. és simán kerület nélkül beszúrjuk az első helye. list.RemoveAll(x => x.TelepulesNev.Contains("Budapest")); list.Insert(0, new TelepulesListCO { TelepulesNev = "Budapest" }); return list; }); } public List GetIranyitoszamok(string iranyitoszam) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TelepulesDal(); var ds = dal.GetIranyitoszamok(iranyitoszam); var list = new List(); foreach (DataRow row in ds.Tables[0].Rows) { var co = new IranyitoszamListCO() { Iranyitoszam = row["IRANYITOSZAM"].ToString() }; list.Add(co); } return list; }); } public List GetTelepulesek(string iranyitoszam) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TelepulesDal(); var ds = dal.GetTelepulesek(iranyitoszam); var list = new List(); foreach (string telepulesNev in ds.Tables[0].Rows.Cast().Select(x => x["TELEPULESNEV"].ToString()).Distinct()) { var co = new TelepulesListCO { TelepulesNev = telepulesNev }; list.Add(co); } return list; }); } public List GetIranyitoszamokEsTelepulesek() { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TelepulesDal(); var ds = dal.GetTelepulesek(string.Empty); var list = new List(); foreach (DataRow row in ds.Tables[0].Rows) { var co = new IranyitoszamTelepulesListCO(); co.Iranyitoszam = row["IRANYITOSZAM"].ToString(); co.TelepulesNev = row["TELEPULESNEV"].ToString(); list.Add(co); } return list.OrderBy(e => e.Iranyitoszam).ToList(); }); } } }