Example #1
0
        // GET: KomponenGaris/Edit/5
        public async Task <IActionResult> AddOrEdit(int?grsId, bool add = true)
        {
            var sesPola = SPola.GetSesi(this);
            var polaId  = sesPola.PolaId;

            if (grsId == null)
            {
                grsId = sesPola.GarisId;
            }

            List <KomponenPola> lstKomp = new List <KomponenPola>();
            var komponenGaris           = await _context.TblKomponenGaris.FindAsync(grsId);

            if (add)
            {
                komponenGaris = new KomponenGaris()
                {
                    GarisId = (int)grsId,
                };
            }
            else
            {
                if (komponenGaris == null)
                {
                    return(NotFound());
                }

                grsId = komponenGaris.GarisId;
                //polaId = komponenGaris.Garis.KoordAwal.PolaId;
            }


            var grs = _context.TblGaris
                      .Include(g => g.KoordAwal)
                      .Include(g => g.KoordAkhir)
                      .Include(g => g.KoordAwal.TitikX)
                      .Include(g => g.KoordAwal.TitikY)
                      .Include(g => g.KoordAkhir.TitikX)
                      .Include(g => g.KoordAkhir.TitikY)
                      .Where(g => g.GarisId == grsId)   //.ToList();
                      .Single();

            ViewBag.GarisNama = grs.Nama + " (" + grs.Arah + ")";
            var lstKomp4Select = _context.TblKomponenPola.Where(k => k.PolaId == polaId)
                                 .Select(k => new { k.KomPolaId, k.Komponen.Nama }).ToList();
            var lstPosZ = _context.TblTitik.Where(t => t.PolaId == polaId && t.Sumbu == ESumbu.Z)
                          .Select(t => new { t.TtkId, t.Nama }).ToList();

            ViewData["KompPolaId"] = new SelectList(lstKomp4Select, "KomPolaId", "Nama", komponenGaris.KompPolaId);
            ViewData["PosZId"]     = new SelectList(lstPosZ, "TtkId", "Nama", komponenGaris.PosZId);

            return(View(komponenGaris));
        }
Example #2
0
        public async Task <IActionResult> AddOrEdit(int id, [Bind("KompGrsId,GarisId,KompPolaId,PosRelatifDiZ,PosZId,PosRelatif,PosRelX,PosRelY,OffsetKeKanan")] KomponenGaris komponenGaris)
        {
            var sesPola = SPola.GetSesi(this);
            var permintaanDariGambar = sesPola.DariGambar;

            if (ModelState.IsValid)
            {
                if (komponenGaris.KompGrsId == 0)
                {
                    try
                    {
                        _context.Add(komponenGaris);
                        await _context.SaveChangesAsync();
                    }
                    catch { }
                }
                else if (id == komponenGaris.KompGrsId)
                {
                    try
                    {
                        _context.Update(komponenGaris);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!KomponenGarisExists(komponenGaris.KompGrsId))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                }
                if (permintaanDariGambar)
                {
                    // kembali ke index gambar
                    return(RedirectToAction("KompGaris", "Gambar"));
                }
                else
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }


            var grs = _context.TblGaris
                      .Include(g => g.KoordAwal)
                      .Include(g => g.KoordAkhir)
                      .Include(g => g.KoordAwal.TitikX)
                      .Include(g => g.KoordAwal.TitikY)
                      .Include(g => g.KoordAkhir.TitikX)
                      .Include(g => g.KoordAkhir.TitikY)
                      .Where(g => g.GarisId == id)   //.ToList();
                      .Single();
            int polaId = grs.KoordAwal.TitikX.Pola.PolaId;

            ViewBag.GarisNama = grs.Nama + " (" + grs.Arah + ")";
            var lstKomp4Select = _context.TblKomponenPola.Where(k => k.PolaId == polaId)
                                 .Select(k => new { k.KomPolaId, k.Komponen.Nama }).ToList();
            var lstPosZ = _context.TblTitik.Where(t => t.PolaId == polaId && t.Sumbu == ESumbu.Z)
                          .Select(t => new { t.TtkId, t.Nama }).ToList();

            ViewData["KompPolaId"] = new SelectList(lstKomp4Select, "KomPolaId", "Nama", komponenGaris.KompPolaId);
            ViewData["PosZId"]     = new SelectList(lstPosZ, "TtkId", "Nama", komponenGaris.PosZId);

            if (permintaanDariGambar)
            {
                //kembali ke action gambar garis di gambar
                return(RedirectToAction("KompGaris", "Gambar"));
            }

            return(View(komponenGaris));
        }