protected void SetupSecondaryData(DbContext db)
        {
            if (OrderId == 0)
            {
                throw new InvalidOperationException("You must set the OrderId before you call SetupSecondaryData");
            }
            if (UserId == null)
            {
                throw new InvalidOperationException("You must set the UserId before you call SetupSecondaryData");
            }

            var order = db.Set <Order>()
                        .Include(x => x.LineItems).ThenInclude(x => x.ChosenBook)
                        .SingleOrDefault(x => x.OrderId == OrderId);

            if (order == null)
            {
                throw new InvalidOperationException("I could not find the order you asked for.");
            }

            DateOrderedUtc       = order.DateOrderedUtc;
            OriginalDeliveryDate = order.ExpectedDeliveryDate;
            NewDeliveryDate      = OriginalDeliveryDate < DateTime.Today
                ? DateTime.Today
                : OriginalDeliveryDate;
            BookTitles            = order.LineItems.Select(x => x.ChosenBook.Title).ToList();
            PossibleDeliveryDates = new SelectList(FormPossibleDeliveryDates(DateTime.Today));
            var selected = PossibleDeliveryDates.FirstOrDefault(x => x.Text == NewDeliveryDate.ToString("d"));

            if (selected != null)
            {
                selected.Selected = true;
            }
        }
Exemplo n.º 2
0
        private void RenderGenerosViewData()
        {
            var generos = new SelectList(this._context.Genero.ToList(), "Id", "Nome");

            generos.FirstOrDefault().Selected = true;
            ViewData["Generos"] = generos;
        }
Exemplo n.º 3
0
        // GET: Debtor
        public async Task <IActionResult> Index(int?advisorId, string financialYear)
        {
            List <MLFSReportingPeriod> periods = await _periodData.GetPeriods();

            SelectList yearList = new SelectList(periods.Select(x => x.FinancialYear).Distinct());

            ViewBag.Year      = yearList;
            ViewBag.AdvisorId = await _advisorData.SelectList();

            if (advisorId == null)
            {
                BudgetReview review = new BudgetReview();
                return(View(review));
            }
            else
            {
                if (String.IsNullOrEmpty(financialYear))
                {
                    financialYear = yearList.FirstOrDefault().Value;
                }
                MLFSAdvisor advisor = await _advisorData.GetAdvisor((int)advisorId);

                List <MLFSBudget> budgets = await _budgetData.GetBudgets(periods.Where(x => x.FinancialYear == financialYear).ToList());

                BudgetReview review = new BudgetReview(advisor, budgets, periods, financialYear);
                return(View(review));
            }
        }
Exemplo n.º 4
0
        public static IHtmlString BirthPlace(string value, SelectList cityList, SelectList stateList, string otherOptionValue, string classNames)
        {
            string inputText = string.Empty;

            if (!string.IsNullOrWhiteSpace(otherOptionValue))
            {
                inputText = otherOptionValue;
            }
            else
            {
                if (value != null)
                {
                    string[] tokens = value.Split('-');
                    if (tokens.Length == 2)
                    {
                        var stateId   = tokens[0];
                        var cityId    = tokens[1];
                        var city      = cityList.FirstOrDefault(t => t.Value == cityId);
                        var cityText  = city != null ? city.Text : string.Empty;
                        var state     = stateList.FirstOrDefault(t => t.Value == stateId);
                        var stateText = state != null ? state.Text : string.Empty;
                        inputText = cityText + " - " + stateText;
                    }
                }
            }
            string htmlString = string.Format("<input  value='{0}' class='{1}' />", inputText, classNames);

            return(new HtmlString(htmlString));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var monster = await _context
                          .Monsters.FindAsync(id);

            if (monster == null)
            {
                return(NotFound());
            }

            ViewData["MonsterStatsId"] = new SelectList(
                _context.MonstersStats, "ID", "ID", monster.MonsterStatsId);

            var statisticsId = new SelectList(_context.MonstersStats, "ID", "ID");

            ViewData["StatisticsId"]   = statisticsId;
            ViewData["DefaultStatsId"] = statisticsId.FirstOrDefault().Value;

            return(View(monster));
        }
Exemplo n.º 6
0
        public void OnGet()
        {
            SetupRaceList();

            if (ActiveRaceId == 0)
            {
                ActiveRaceId = System.Convert.ToInt32(RaceList.FirstOrDefault()?.Value);
            }

            ViewData["RaceId"] = ActiveRaceId;

            ActiveRace           = _context.Races.FirstOrDefault(x => x.RaceId == ActiveRaceId);
            ViewData["TeamRace"] = ActiveRace.Participants > 1;

            SetupDetails();
        }
Exemplo n.º 7
0
        /// <summary>
        /// This is called by the BizRunner’s GetOriginal or ResetDto methods.
        /// It sets up the presentation layer properties
        /// </summary>
        /// <param name="repository">The repository to allow access to the database</param>
        /// <param name="status">The BizActionStatus so you can register errors</param>
        protected override void SetupSecondaryData(object repository, IStatusGenericHandler status)
        {
            if (OrderId == 0)
            {
                throw new InvalidOperationException("You must set the OrderId before you call SetupSecondaryData");
            }
            if (UserId == null)
            {
                throw new InvalidOperationException("You must set the UserId before you call SetupSecondaryData");
            }

            var order = ((NonEfRepo)repository).GetOrder(OrderId);

            if (order == null)
            {
                status.AddError("Sorry, I could not find the order you asked for.");
                HasErrors = true;
                //Log possible hacking
                return;
            }

            DateOrderedUtc       = order.DateOrderedUtc;
            OriginalDeliveryDate = order.ExpectedDeliveryDate;
            NewDeliveryDate      = OriginalDeliveryDate < DateTime.Today
                ? DateTime.Today
                : OriginalDeliveryDate;
            //BookTitles = order.LineItems.Select(x => x.ChosenBook.Title).ToList();
            PossibleDeliveryDates = new SelectList(FormPossibleDeliveryDates(DateTime.Today));
            var selected = PossibleDeliveryDates.FirstOrDefault(x => x.Text == NewDeliveryDate.ToString("d"));

            if (selected != null)
            {
                selected.Selected = true;
            }
        }
Exemplo n.º 8
0
        public static IHtmlString DropDownListFor(string value, SelectList list, string classNames)
        {
            var selectedOption = list.FirstOrDefault(t => t.Value == value);
            var inputText      = selectedOption != null ? selectedOption.Text : string.Empty;

            string htmlString = string.Format("<input  value='{0}' class='{1}' />", inputText, classNames);

            return(new HtmlString(htmlString));
        }
        protected async Task <ComponentsForDevice> GetMultipleComponents(int?deviceId, string typeName)
        {
            var selectListDevice = new SelectList(await _deviceService.GetAllAsync(), "Id", "Name");
            var selectListTypes  = new SelectList(await _componentBaseService.GetTypesAsync());

            var            components         = new ComponentsForDevice();
            List <TEntity> componentsInDevice = new List <TEntity>();

            if (deviceId != null)
            {
                var device = selectListDevice.FirstOrDefault(l => l.Value == deviceId.ToString());
                if (device != null)
                {
                    device.Selected = true;
                }

                componentsInDevice = await _componentBaseService.GetByDeviceId(deviceId.Value);
            }
            else
            {
                componentsInDevice = await _componentBaseService.GetAllAsync();
            }

            if (componentsInDevice == null)
            {
                throw new NotImplementedException();
            }

            if (typeName != null)
            {
                var type = selectListTypes.FirstOrDefault(l => l.Text == typeName);
                if (type != null)
                {
                    type.Selected = true;
                }

                componentsInDevice = componentsInDevice.Where(c => c.Type == typeName).ToList();
            }

            var length = componentsInDevice.Count;

            components.ComponentId     = new int[length];
            components.ComponentName   = new string[length];
            components.Quantity        = new int[length];
            components.QuantityInStock = new int[length];
            for (var index = 0; index < length; index++)
            {
                var componentInDevice = componentsInDevice[index];
                components.ComponentName[index]   = componentInDevice.ToString();
                components.ComponentId[index]     = componentInDevice.Id;
                components.QuantityInStock[index] = componentInDevice.Quantity;
            }

            ViewBag.TypeNames = selectListTypes;
            ViewBag.Devices   = selectListDevice;
            return(components);
        }
Exemplo n.º 10
0
        public IActionResult Create(Estoque estoque, int drpProduto, int drpCategorias)
        {
            if (drpCategorias != 0)
            {
                SelectList categorias = new SelectList(cDAO.ListarTodos(), "CategoriaId", "Nome");
                var        marcado    = categorias.FirstOrDefault(x => x.Value == drpCategorias.ToString()).Selected = true;
                ViewBag.Categorias = categorias;
                if (drpCategorias != 0)
                {
                    if (drpProduto != 0)
                    {
                        SelectList produtos = new SelectList(pDAO.BuscarPorCategoria(drpCategorias), "ProdutoId", "Nome");
                        var        marcadop = produtos.FirstOrDefault(x => x.Value == drpProduto.ToString()).Selected = true;
                        ViewBag.Produtos = produtos;

                        Produto produto = pDAO.BuscarPorId(drpProduto);
                        estoque.Produto = produto;

                        if (estoque.Quantidade > 0)
                        {
                            if (!estoque.Lote.Equals(""))
                            {
                                Estoque estoqueAux = new EstoqueEntrada();
                                int     quant      = estoque.Quantidade;
                                for (int x = 0; x < quant; x++)
                                {
                                    estoqueAux.Produto    = estoque.Produto;
                                    estoqueAux.Lote       = estoque.Lote;
                                    estoqueAux.Quantidade = 1;
                                    eDAO.Cadastrar(estoqueAux);
                                    estoqueAux = new EstoqueEntrada();
                                }
                                return(RedirectToAction("Index"));
                            }
                            else
                            {
                                return(View(estoque));
                            }
                        }
                        else
                        {
                            return(View(estoque));
                        }
                    }
                    else
                    {
                        return(View(estoque));
                    }
                }
            }
            else
            {
                ViewBag.Categorias = new SelectList(cDAO.ListarTodos(), "CategoriaId", "Nome");
            }
            return(View(estoque));
        }
Exemplo n.º 11
0
        public IActionResult Edit(int?id)
        {
            Produto    produto    = pDAO.BuscarPorId(id);
            SelectList categorias = new SelectList(cDAO.ListarTodos(), "CategoriaId", "Nome");
            var        marcado    = categorias.FirstOrDefault(x => x.Value == produto.Categoria.CategoriaId.ToString()).Selected = true;

            ViewBag.Categorias = categorias;

            return(View(produto));
        }
Exemplo n.º 12
0
        public IActionResult Create()
        {
            ViewData["Category"] = new SelectList(_context.ItemCategories, "ID", "Name");
            ViewData["RarityId"] = new SelectList(_context.Rarity, "ID", "Name");

            var statisticsId = new SelectList(_context.ItemsStats, "ID", "ID");

            ViewData["StatisticsId"]   = statisticsId;
            ViewData["DefaultStatsId"] = statisticsId.FirstOrDefault().Value;

            return(View());
        }
Exemplo n.º 13
0
        private SelectList GetProductGroups(int selectedId = 1)
        {
            var productGroups = _productGroupLogic.Read(null);
            var list          = new SelectList(productGroups, "Id", "Name");
            var item          = list.FirstOrDefault(rec => Convert.ToInt32(rec.Value) == selectedId);

            if (item != null)
            {
                item.Selected = true;
            }

            return(list);
        }
Exemplo n.º 14
0
        public IActionResult Create()
        {
            ViewData["MonsterStatsId"] = new SelectList(
                _context.MonstersStats, "ID", "ID");

            var statisticsId = new SelectList(
                _context.MonstersStats, "ID", "ID");

            ViewData["StatisticsId"]   = statisticsId;
            ViewData["DefaultStatsId"] = statisticsId.FirstOrDefault().Value;

            return(View());
        }
Exemplo n.º 15
0
        public void OnGet()
        {
            RaceList = new SelectList(_context.Races.Where(x => x.IsBoating == IsBooting).ToList().OrderBy(x => x.SortOrder), "RaceId", "RaceName");

            if (ActiveRaceId == 0)
            {
                ActiveRaceId = System.Convert.ToInt32(RaceList.FirstOrDefault()?.Value);
            }

            ViewData["RaceId"] = ActiveRaceId;

            ActiveRace           = _context.Races.FirstOrDefault(x => x.RaceId == ActiveRaceId);
            ViewData["TeamRace"] = ActiveRace.Participants > 1;

            SetupDetails();
        }
        public static SelectList SetPlaceholder(this SelectList selectList, string text = "")
        {
            if (selectList.FirstOrDefault()?.Value == "")
            {
                return(selectList);
            }

            var list = selectList.ToList();

            list.Insert(0, new SelectListItem()
            {
                Text  = text,
                Value = ""
            });
            return(new SelectList(list, "Value", "Text"));
        }
        // Prepares a viewmodel with the select list and other data we need to render our page, attempt to automatically select the matching employee
        private DependentInputViewModel PrepareViewModel(uint id = 0)
        {
            var dropDownList = new SelectList(_context.Employees, "ID", "Name");
            var message      = "Please select one or more employees to associate with this dependent.";

            if (id > 0)
            {
                message = "Your employee has been successfully entered. Now enter any associated employees or press 'Skip' to continue.";
                var matchingRecord = dropDownList.FirstOrDefault(d => d.Value == id.ToString());
                if (matchingRecord != null)
                {
                    matchingRecord.Selected = true;
                }
            }
            return(new DependentInputViewModel
            {
                SelectList = dropDownList,
                UserMessage = message,
                SelectedEmployeeId = id
            });
        }
Exemplo n.º 18
0
        // GET: Estoque/Create ///verificar cadastro de usuario professor.
        public IActionResult Create()
        {
            Estoque estoque = new Estoque();

            if (TempData.Get <Categoria>("Categoria") != null)
            {
                Categoria cat = TempData.Get <Categoria>("Categoria");

                SelectList categorias = new SelectList(cDAO.ListarTodos(), "CategoriaId", "Nome");
                var        marcado    = categorias.FirstOrDefault(x => x.Value == cat.CategoriaId.ToString()).Selected = true;
                ViewBag.Categorias = categorias;

                ViewBag.Produtos = new SelectList(pDAO.BuscarPorCategoria(cat.CategoriaId), "ProdutoId", "Nome");
            }
            else
            {
                ViewBag.Categorias = new SelectList(cDAO.ListarTodos(), "CategoriaId", "Nome");
            }

            return(View(estoque));
        }
        // GET: SportTranslation/Create
        public IActionResult Create(int baseEntityId = default, int cultureId = default)
        {
            var list = new SelectList(_context.SubscriptionsPlans, "Id", "Id");

            if (baseEntityId != default)
            {
                var item = list.FirstOrDefault(x => x.Value == baseEntityId.ToString());
                if (item != null)
                {
                    item.Selected = true;
                    ViewData["BaseEntityIsReadOnly"] = true;
                }
                else
                {
                    ModelState.AddModelError("", "Id базового представления не существует.");
                }
            }

            var cultureList = new SelectList(_context.Cultures, "Id", "Key");

            if (cultureId != default)
            {
                var item = cultureList.FirstOrDefault(x => x.Value == cultureId.ToString());
                if (item != null)
                {
                    item.Selected = true;
                    ViewData["CultureIdIsReadOnly"] = true;
                }
                else
                {
                    ModelState.AddModelError("", "Id культуры представления не существует.");
                }
            }

            ViewData["BaseEntityId"] = list;
            ViewData["CultureId"]    = cultureList;
            ViewData["ImageId"]      = new SelectList(_context.Images, "Id", "Id");
            return(View());
        }
Exemplo n.º 20
0
 public Object GetDefaultOrSelectedItemValue(SelectList list, string selectedValue)
 {
     return(list.FirstOrDefault(x => x.Text == selectedValue || x.Text == "Seçiniz").Value);
 }
Exemplo n.º 21
0
        public IActionResult EditRotating(int id)
        {
            BuffetRotatingWeek week = _dbContext.BuffetRotatingWeeks.First(bi => bi.Id == id);

            SelectList meatItems = new SelectList(_dbContext.BuffetSchedules.Include("BuffetItem").Where(bi => bi.FoodType.Name == "Buffet Meat"), "Id", "BuffetItem.Name");

            var meat = meatItems.FirstOrDefault(m => m.Value == week.Meat.Id.ToString());

            if (meat != null)
            {
                meat.Selected = true;
            }

            ViewBag.MeatItems = meatItems;

            SelectList casseroleItems = new SelectList(_dbContext.BuffetSchedules.Include("BuffetItem").Where(bi => bi.FoodType.Name == "Casserole"), "Id", "BuffetItem");

            var casserole = casseroleItems.FirstOrDefault(c => c.Value == week.Casserole.Id.ToString());

            if (casserole != null)
            {
                casserole.Selected = true;
            }

            ViewBag.CasseroleItems = casseroleItems;

            SelectList cornItems = new SelectList(_dbContext.BuffetSchedules.Include("BuffetItem").Where(bi => bi.FoodType.Name == "Corn"), "Id", "BuffetItem");

            var corn = cornItems.FirstOrDefault(c => c.Value == week.Corn.Id.ToString());

            if (corn != null)
            {
                corn.Selected = true;
            }

            ViewBag.CornItems = cornItems;

            SelectList beanItems = new SelectList(_dbContext.BuffetSchedules.Include("BuffetItem").Where(bi => bi.FoodType.Name == "Beans"), "Id", "BuffetItem");

            var beans = beanItems.FirstOrDefault(c => c.Value == week.Beans.Id.ToString());

            if (beans != null)
            {
                beans.Selected = true;
            }

            ViewBag.BeanItems = beanItems;

            SelectList altChickenItems = new SelectList(_dbContext.BuffetSchedules.Include("BuffetItem").Where(bi => bi.FoodType.Name == "Alt Chicken"), "Id", "BuffetItem");

            var altChicken = altChickenItems.FirstOrDefault(c => c.Value == week.AltChicken.Id.ToString());

            if (altChicken != null)
            {
                altChicken.Selected = true;
            }

            ViewBag.ChickenItems = altChickenItems;

            return(View(week));
        }
Exemplo n.º 22
0
        public async Task <IActionResult> Create(OrdemDeServico ordemDeServico, int drpProcessador, int drpPlacaMae, int drpMemoria, int drpPlacaVideo, int drpHd, int drSsd)
        {
            Estoque      estoqueEntrada;
            EstoqueSaida estoqueSaida;

            if (drpProcessador != 0)
            {
                if (drpPlacaMae != 0)
                {
                    if (drpMemoria != 0)
                    {
                        if (drpPlacaVideo != 0)
                        {
                            if (drpHd != 0)
                            {
                                if (drSsd != 0)
                                {
                                    Pessoa p = pDAO.BuscarPessoaPorCpf(userManager.GetUserName(User));
                                    Pessoa f = pDAO.BuscarPessoaPorCpf("123456789");
                                    if (ModelState.IsValid)
                                    {
                                        //Cadastrdo do processador
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drpProcessador);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.Processador = estoqueSaida;

                                        //Cadastrdo do PlacaMae
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drpPlacaMae);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.PlacaMae = estoqueSaida;

                                        //Cadastrdo do Memoria
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drpMemoria);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.Memoria = estoqueSaida;

                                        //Cadastrdo do PlacaVideo
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drpPlacaVideo);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.PlacaVideo = estoqueSaida;

                                        //Cadastrdo do Hd
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drpHd);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.Hd = estoqueSaida;

                                        //Cadastrdo do Ssd
                                        estoqueEntrada           = new EstoqueEntrada();
                                        estoqueSaida             = new EstoqueSaida();
                                        estoqueEntrada           = eDAO.BuscarPorId(drSsd);
                                        estoqueSaida.DataEntrada = estoqueEntrada.DataEntrada;
                                        estoqueSaida.Lote        = estoqueEntrada.Lote;
                                        estoqueSaida.Produto     = estoqueEntrada.Produto;
                                        estoqueSaida.Quantidade  = estoqueEntrada.Quantidade;
                                        eDAO.Cadastrar(estoqueSaida);
                                        eDAO.ExcluirEstoque(estoqueEntrada.EstoqueId);
                                        ordemDeServico.Ssd = estoqueSaida;

                                        ordemDeServico.Cliente     = p;
                                        ordemDeServico.Funcionario = f;
                                        ordemDeServico.Aprovado    = false;
                                        ordemDeServico.Negado      = false;
                                        oDAO.CadastrarOs(ordemDeServico);
                                        return(RedirectToAction("Index", "OrdemDeServico"));
                                    }
                                }
                                else
                                {
                                    ModelState.AddModelError("", "Selecione um SSD");
                                }
                            }
                            else
                            {
                                ModelState.AddModelError("", "Selecione um HD");
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "Selecione uma Placa de Video");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Selecione uma Memoria");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Selecione uma Placa Mãe");
                }
            }
            else
            {
                ModelState.AddModelError("", "Selecione um Processador");
            }



            if (drpProcessador != 0)
            {
                SelectList processador = new SelectList(eDAO.ListaResumidaQuantidade(1), "EstoqueId", "Produto.Nome");
                var        marcado     = processador.FirstOrDefault(x => x.Value == drpProcessador.ToString()).Selected = true;
                ViewBag.Processador = processador;
            }
            else
            {
                ViewBag.Processador = new SelectList(eDAO.ListaResumidaQuantidade(1), "EstoqueId", "Produto.Nome");
            }

            if (drpPlacaMae != 0)
            {
                SelectList placaMae = new SelectList(eDAO.ListaResumidaQuantidade(2), "EstoqueId", "Produto.Nome");
                var        marcado  = placaMae.FirstOrDefault(x => x.Value == drpPlacaMae.ToString()).Selected = true;
                ViewBag.PlacaMae = placaMae;
            }
            else
            {
                ViewBag.PlacaMae = new SelectList(eDAO.ListaResumidaQuantidade(2), "EstoqueId", "Produto.Nome");
            }

            if (drpMemoria != 0)
            {
                SelectList memoria = new SelectList(eDAO.ListaResumidaQuantidade(3), "EstoqueId", "Produto.Nome");
                var        marcado = memoria.FirstOrDefault(x => x.Value == drpMemoria.ToString()).Selected = true;
                ViewBag.Memoria = memoria;
            }
            else
            {
                ViewBag.Memoria = new SelectList(eDAO.ListaResumidaQuantidade(3), "EstoqueId", "Produto.Nome");
            }

            if (drpPlacaVideo != 0)
            {
                SelectList placaVideo = new SelectList(eDAO.ListaResumidaQuantidade(4), "EstoqueId", "Produto.Nome");
                var        marcado    = placaVideo.FirstOrDefault(x => x.Value == drpPlacaVideo.ToString()).Selected = true;
                ViewBag.PlacaVideo = placaVideo;
            }
            else
            {
                ViewBag.PlacaVideo = new SelectList(eDAO.ListaResumidaQuantidade(4), "EstoqueId", "Produto.Nome");
            }

            if (drpHd != 0)
            {
                SelectList hd      = new SelectList(eDAO.ListaResumidaQuantidade(5), "EstoqueId", "Produto.Nome");
                var        marcado = hd.FirstOrDefault(x => x.Value == drpHd.ToString()).Selected = true;
                ViewBag.Hd = hd;
            }
            else
            {
                ViewBag.Hd = new SelectList(eDAO.ListaResumidaQuantidade(5), "EstoqueId", "Produto.Nome");
            }

            if (drSsd != 0)
            {
                SelectList ssd     = new SelectList(eDAO.ListaResumidaQuantidade(6), "EstoqueId", "Produto.Nome");
                var        marcado = ssd.FirstOrDefault(x => x.Value == drSsd.ToString()).Selected = true;
                ViewBag.Ssd = ssd;
            }
            else
            {
                ViewBag.Ssd = new SelectList(eDAO.ListaResumidaQuantidade(6), "EstoqueId", "Produto.Nome");
            }
            return(View(ordemDeServico));
        }
        public async Task <IActionResult> Index(string sortOrder, string searchString, int?deviceId, string typeName, int page = 1, int pageSize = 50)
        {
            var selectListDevice = new SelectList(await _deviceService.GetAllAsync(), "Id", "Name");
            var selectListTypes  = new SelectList(await _componentBaseService.GetTypesAsync());

            List <Montage> components = new List <Montage>();

            if (deviceId != null)
            {
                var device = selectListDevice.FirstOrDefault(l => l.Value == deviceId.ToString());
                if (device != null)
                {
                    device.Selected = true;
                }

                components = await _componentBaseService.GetByDeviceId(deviceId.Value);
            }
            else
            {
                components = await _componentBaseService.GetAllAsync();
            }

            if (components == null)
            {
                throw new NotImplementedException();
            }

            if (typeName != null)
            {
                var type = selectListTypes.FirstOrDefault(l => l.Text == typeName);
                if (type != null)
                {
                    type.Selected = true;
                }

                components = components.Where(c => c.Type == typeName).ToList();
            }
            ViewBag.TypeNames = selectListTypes;
            ViewBag.Devices   = selectListDevice;

            ViewData["NameSortParm"]     = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["TypeSortParm"]     = sortOrder == "Type" ? "type_desc" : "Type";
            ViewData["QuantitySortParm"] = sortOrder == "Quantity" ? "quantity_desc" : "Quantity";
            ViewData["sortOrder"]        = sortOrder;
            ViewData["CurrentFilter"]    = searchString;


            if (!String.IsNullOrEmpty(searchString))
            {
                components = components.Where(c => (c.Name?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false) ||
                                              (c.Corpus?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false) ||
                                              (c.Explanation?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false) ||
                                              (c.Nominal?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false) ||
                                              (c.Type?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false) ||
                                              (c.Manufacturer?.Contains(searchString, StringComparison.OrdinalIgnoreCase) ?? false)).ToList();
            }

            ViewBag.PageSize = pageSize;

            var pageSizes        = new SelectList(new[] { 10, 25, 50, 100 });
            var pageSizeFromList = pageSizes.FirstOrDefault(l => l.Text == pageSize.ToString());

            if (pageSizeFromList != null)
            {
                pageSizeFromList.Selected = true;
            }

            ViewBag.PageSizes = pageSizes;
            var componentsDto = components.ToList();

            ViewBag.MaxPage         = componentsDto.Count() / pageSize + (componentsDto.Count() % pageSize == 0 ? 0: 1);
            ViewBag.CountComponents = componentsDto.Count();
            if (page > ViewBag.MaxPage)
            {
                page = 1;
            }

            switch (sortOrder)
            {
            case "name_desc":
                components = componentsDto.OrderByDescending(d => d.Name).ToList();
                break;

            case "Type":
                components = componentsDto.OrderBy(d => d.Type).ToList();
                break;

            case "type_desc":
                components = componentsDto.OrderByDescending(d => d.Type).ToList();
                break;

            case "Quantity":
                components = componentsDto.OrderBy(d => d.Quantity).ToList();
                break;

            case "quantity_desc":
                components = componentsDto.OrderByDescending(d => d.Quantity).ToList();
                break;

            default:
                components = componentsDto.OrderBy(d => d.Name).ToList();
                break;
            }

            ViewBag.AllComponents = components;
            ViewBag.Page          = page;
            components            = components.Skip((page - 1) * pageSize).Take(pageSize).ToList();
            await _componentBaseService.UsingInDevice(components);

            return(View(components));
        }