// GET: Servicos/Edit/5 public async Task <IActionResult> Edit(string id, string returnUrl) { if (String.IsNullOrEmpty(id)) { return(NotFound()); } var servico = await _context.Servicos.Include(s => s.Servicos_DataExecucao).ThenInclude(sde => sde.DataExecucao).Where(s => s.ID.Equals(id)).FirstOrDefaultAsync(); if (servico == null) { return(NotFound()); } servico.Observacoes = servico.Observacoes?.Replace("<br/>", "\r\n"); ServicosCreateViewModel response = new ServicosCreateViewModel { Servico = servico, RequerentesList = new SelectList(_context.Requerentes.OrderBy(r => r.Nome).ToList(), "ID", "Nome", servico.RequerenteFK) }; ViewData["ReturnUrl"] = returnUrl; return(View(response)); }
// GET: Servicos public async Task <IActionResult> RequerentesAjax(string id) { var requerentes = await _context.Requerentes.OrderBy(r => r.Nome).ToListAsync(); // Caso exista id no parametro, mostrar esse requerente já selecionado, senão mostra o ultimo id var lastRequrente = (!String.IsNullOrEmpty(id)) ? await _context.Requerentes.FindAsync(id) : await _context.Requerentes.LastOrDefaultAsync(); ServicosCreateViewModel response = new ServicosCreateViewModel() { RequerentesList = new SelectList(requerentes, "ID", "Nome", lastRequrente.ID) }; return(PartialView("PartialViews/_RequerentesDropdown", response)); }
// GET: Servicos/ServSolicAjax public IActionResult ServSolicAjax(string id, string servSolic) { ServicosCreateViewModel response = new ServicosCreateViewModel() { }; var allServSolic = _context.ServicosSolicitados.OrderBy(t => t.Nome); // Todos os serviços solicitados ordernados // Caso exista id, preenher as checkboxes de acordo com o serviço em questão // Quando existe id é porque se trata do editar, logo esse serviço pode ter serviços solicitados selecionados // nesse caso queremos preencher a dropdown com os serviços solicitados da relação if (!String.IsNullOrEmpty(servSolic)) { string[] array = servSolic.Split(","); // Neste caso foi adicionado um novo serviço solicitado por Ajax // Quando não é fornecido um id, preenche de acordo com os serviços solicitados selecionados pelo utilizador // para não perder essa informação quando é adiciona um novo serviço solicitado response.ServSolicitados = allServSolic.Select(ss => new SelectListItem() { //Selected = servSolic.Contains(ss.ID.ToString()), Selected = (array.Where(serv => Int32.Parse(serv) == ss.ID).Count() != 0), Text = ss.Nome, Value = ss.ID.ToString() }); } else { response.ServSolicitados = allServSolic.Select(ss => new SelectListItem() { // Verificar se o serviço solicitado em que nos encontramos em cada instancia do select (select percorre todos), coincide com algum valor // da lista Servicos_ServicosSolicitados. Caso exista, retorna verdade pois esse encontra-se selecionado Selected = (_context.Servicos_ServicosSolicitados.Where(sss => sss.ServicoFK.Equals(id) && sss.ServicoSolicitadoFK == ss.ID).Count() != 0), Text = ss.Nome, Value = ss.ID.ToString() }); } return(PartialView("PartialViews/_ServSolicitadosDropdown", response)); }