public List <SpPerbandinganKriteria_Result> SpDataTables()
        {
            List <SpPerbandinganKriteria_Result> queryable;

            using (var ctx = new AhpEntities()) {
                queryable = ctx.SpPerbandinganKriteria().ToList();
            }


            return(queryable);
        }
        public Gap Find(string Periode, string Posisi)
        {
            Gap gap = new Gap();

            using (var ctx = new AhpEntities()) {
                gap.prosesGap = ctx.SpProseGap(Posisi, Periode).ToList();
                gap.kriterias = ctx.Kriterias.OrderBy(x => x.Kode).ToList();
            }

            var calonKaryawanGaps = (from a in (gap.prosesGap.GroupBy(x =>
                                                                      new {
                x.KodeKaryawan,
                x.Nama,
                x.KodeLowongan,
                x.Periode
            }).Select(g => g.FirstOrDefault()).ToList())
                                     select new CalonKaryawanGap {
                kodeKaryawan = a.KodeKaryawan,
                kodeLowongan = a.KodeLowongan,
                namaKaryawan = a.Nama,
                periode = a.Periode
            }).ToList();

            foreach (var c in calonKaryawanGaps)
            {
                var prosesGap = gap.prosesGap.Where(x => x.KodeKaryawan.Equals(c.kodeKaryawan) &&
                                                    x.KodeLowongan.Equals(c.kodeLowongan)).ToList();
                List <NilaiGapBobot> nilaiGapBobots = new List <NilaiGapBobot>();
                foreach (var item in prosesGap)
                {
                    NilaiGapBobot nilaiGapBobot = new NilaiGapBobot();
                    nilaiGapBobot.kodeKriteria    = item.KodeKriteria;
                    nilaiGapBobot.kriteria        = item.Kriteria;
                    nilaiGapBobot.nilaiBobot      = (decimal)item.NilaiBobot;
                    nilaiGapBobot.nilaiAlternatif = (decimal)item.NilaiAlternatif;
                    nilaiGapBobot.nilaiGap        = (decimal)item.NilaiGap;
                    nilaiGapBobot.ncf             = Math.Round((decimal)item.Ncf + 0.0000m, 4);
                    nilaiGapBobot.nsf             = Math.Round((decimal)item.Nsf + 0.0000m, 4);
                    nilaiGapBobot.nilaiTotal      = Math.Round((decimal)item.NilaiTotal + 0.0000m, 4);
                    nilaiGapBobot.nilaiTarget     = (decimal)gap.kriterias.SingleOrDefault(x => x.Kode.Equals(item.KodeKriteria)).NilaiTarget;
                    nilaiGapBobots.Add(nilaiGapBobot);
                }
                c.nilaiGapBobots = nilaiGapBobots;
            }

            gap.calonKaryawanGaps = calonKaryawanGaps;

            return(gap);
        }