示例#1
0
        // GET: TipoCulturas/Edit/5
        public async Task <IActionResult> Edit(int?CodigoCultura, int?CodigoPraga)
        {
            if (CodigoCultura == null || CodigoPraga == null)
            {
                return(NotFound());
            }

            var tipoCultura = await _context.TipoCulturas
                              .Include(t => t.Cultura)
                              .Include(t => t.Praga)
                              .FirstOrDefaultAsync(m => m.CodigoCultura == CodigoCultura && m.CodigoPraga == CodigoPraga);

            if (tipoCultura == null)
            {
                return(NotFound());
            }
            TipoCulturaViewModel model = new TipoCulturaViewModel();

            model.CodigoCultura = tipoCultura.CodigoCultura;
            model.CodigoPraga   = tipoCultura.CodigoPraga;
            model.Cultura       = tipoCultura.Cultura;
            model.Praga         = tipoCultura.Praga;
            //  model.SelecionadoKeys = String.Format("{0},{1}", tipoCultura.CodigoCultura, tipoCultura.CodigoPraga);


            ViewData["CodigoCultura"] = new SelectList(_context.Culturas, "Codigo", "Nome", model.Cultura);
            ViewData["CodigoPraga"]   = new SelectList(_context.Pragas, "Codigo", "NomePopular", model.CodigoPraga);

            return(View(model));
        }
示例#2
0
        public async Task <IActionResult> Edit(int CodigoCultura, int CodigoPraga, TipoCulturaViewModel tipoCulturaViewModel, TipoCultura tipoCultura)
        {
            if (CodigoCultura != tipoCultura.CodigoCultura || CodigoPraga != tipoCultura.CodigoPraga)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var culturas = await _context.Culturas
                                   .Include(c => c.ListaTipoCulturas)
                                   .FirstOrDefaultAsync(c => c.Codigo == CodigoCultura);

                    var pragas = await _context.Pragas
                                 .Include(c => c.ListaTipoCulturas)
                                 .FirstOrDefaultAsync(c => c.Codigo == CodigoPraga);

                    //removendo range de lista de tipo de cultra
                    _context.TipoCulturas.RemoveRange(culturas.ListaTipoCulturas.Where(m => m.CodigoCultura == CodigoCultura && m.CodigoPraga == CodigoPraga));
                    _context.TipoCulturas.RemoveRange(pragas.ListaTipoCulturas.Where(m => m.CodigoCultura == CodigoCultura && m.CodigoPraga == CodigoPraga));


                    var culturasadd = await _context.Culturas
                                      .FirstOrDefaultAsync(c => c.Codigo == tipoCulturaViewModel.SelecionadoKeysCultura);

                    var pragasadd = await _context.Pragas
                                    .FirstOrDefaultAsync(c => c.Codigo == tipoCulturaViewModel.SelecionadoKeysPraga);

                    tipoCultura.CodigoCultura = culturasadd.Codigo;
                    tipoCultura.Cultura       = culturasadd;
                    tipoCultura.CodigoPraga   = pragasadd.Codigo;
                    tipoCultura.Praga         = pragasadd;


                    _context.Add(tipoCultura);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipoCulturaExists(tipoCultura.CodigoCultura, tipoCultura.CodigoPraga))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CodigoCultura"] = new SelectList(_context.Culturas, "Codigo", "Nome", tipoCulturaViewModel.SelecionadoKeysCultura);
            ViewData["CodigoPraga"]   = new SelectList(_context.Pragas, "Codigo", "NomePopular", tipoCulturaViewModel.SelecionadoKeysPraga);

            return(View(tipoCultura));
        }