private void CarregarViewBag(Manutencao item)
        {
            var idcSituacao = Convert.ToString((Char)Enums.Situacao.Ativo);

            var veiculoEmUso = transporteService
                               .GetAll(x => (!x.DthChegada.HasValue))
                               .ToList();

            // Se for inclusão, o veículo não pode esta em uso
            var veiculoEmViagem = veiculoEmUso.Select(x => x.IdeVeiculo).ToList();

            #region Veiculo

            var veiculo = veiculoService
                          .GetAll(x => ((x.IdcSituacao == idcSituacao) &&
                                        (x.Manutencao.Where(m => m.DthSaida == null).FirstOrDefault() == null) &&
                                        (!veiculoEmViagem.Contains(x.IdeVeiculo)) ||
                                        (x.IdeVeiculo == item.IdeVeiculo))
                                  )
                          .ToList();

            ViewBag.Veiculo = veiculo
                              .Select(x => new SelectListItem()
            {
                Value = x.IdeVeiculo.ToString(), Text = x.DscMarcaModelo
            })
                              .OrderBy(x => x.Text)
                              .ToList();

            #endregion

            #region Mecânico

            var mecanico = colaboradorService
                           .GetAll(x => ((x.IdcSituacao == idcSituacao) &&
                                         (x.IdeTipoColaborador == Enums.TipoColaborador.Mecanico.GetHashCode())) ||
                                   (x.IdeColaborador == item.IdeColaborador)
                                   )
                           .ToList();

            ViewBag.mecanico = mecanico
                               .Select(x => new SelectListItem()
            {
                Value = x.IdeColaborador.ToString(), Text = x.NomColaborador
            })
                               .OrderBy(x => x.Text)
                               .ToList();

            #endregion

            var tipoManutencao = Dominio.BuscarTipoManutencao();

            ViewBag.TipoManutencao = tipoManutencao
                                     .Select(x => new SelectListItem()
            {
                Value = x.Key, Text = x.Value
            })
                                     .OrderBy(x => x.Text)
                                     .ToList();
        }
Пример #2
0
        private void CarregarViewBag(Transporte item)
        {
            var idcSituacao = Convert.ToString((Char)Enums.Situacao.Ativo);

            #region Solicitante

            var solicitante = colaboradorService
                              .GetAll(x => (x.IdcSituacao == idcSituacao) ||
                                      (x.IdeColaborador == item.IdeSolicitante))
                              .ToList();

            ViewBag.Solicitante = solicitante
                                  .Select(x => new SelectListItem()
            {
                Value = x.IdeColaborador.ToString(), Text = x.NomColaborador
            })
                                  .OrderBy(x => x.Text)
                                  .ToList();

            #endregion

            var veiculoEmUso = transporteService
                               .GetAll(x => (!x.DthChegada.HasValue))
                               .ToList();

            // Se for inclusão, o veículo não pode esta em uso
            var veiculoEmViagem = veiculoEmUso.Select(x => x.IdeVeiculo).ToList();

            // Se for inclusão, o motorisata não pode esta em viagem
            var motoristaEmViagem = veiculoEmUso.Select(x => x.IdeMotorista).ToList();

            #region Veiculo

            var veiculo = veiculoService
                          .GetAll(x => ((x.IdcSituacao == idcSituacao) &&
                                        (x.Manutencao.Where(m => m.DthSaida == null).FirstOrDefault() == null) &&
                                        (!veiculoEmViagem.Contains(x.IdeVeiculo)) ||
                                        (x.IdeVeiculo == item.IdeVeiculo))
                                  )
                          .ToList();

            ViewBag.Veiculo = veiculo
                              .Select(x => new SelectListItem()
            {
                Value = x.IdeVeiculo.ToString(), Text = x.DscMarcaModelo
            })
                              .OrderBy(x => x.Text)
                              .ToList();

            #endregion

            #region Motorista

            var motorista = colaboradorService
                            .GetAll(x => ((x.IdcSituacao == idcSituacao) &&
                                          (x.IdeTipoColaborador == Enums.TipoColaborador.Motorista.GetHashCode()) &&
                                          (!motoristaEmViagem.Contains(x.IdeColaborador))) ||
                                    (x.IdeColaborador == item.IdeMotorista)
                                    )
                            .ToList();

            ViewBag.Motorista = motorista
                                .Select(x => new SelectListItem()
            {
                Value = x.IdeColaborador.ToString(), Text = x.NomColaborador
            })
                                .OrderBy(x => x.Text)
                                .ToList();

            #endregion
        }