Ejemplo n.º 1
0
        public async Task <IActionResult> Index(string currentFilter, string searchString, int?pageNumber)
        {
            ViewBag.Title = "Base de Conhecimento";

            if (searchString != null)
            {
                pageNumber = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewData["CurrentFilter"] = searchString;

            var searchArray = new string[] { };

            if (!String.IsNullOrEmpty(searchString))
            {
                searchArray = searchString.RemoveAccents().KeyWordToArray();
                searchArray = Array.ConvertAll(searchArray, d => d.ToLower());
            }

            // Verifica se existe usuário logado
            var userId = !string.IsNullOrEmpty(HttpContextHelper.GetAuthUserId(HttpContext)) ? Convert.ToDecimal(HttpContextHelper.GetAuthUserId(HttpContext)) : 0;

            int pageSize = 10; // Número de registros por Página

            var data = await _baseconhecimentoRepo.GetWithBaseChildsAsync(searchArray, userId, pageNumber ?? 1, pageSize);

            int total = data.Select(c => c.TotalMath).FirstOrDefault();

            return(View(PaginatedList <BaseConhecimento> .Create(data.AsQueryable(), pageNumber ?? 1, pageSize, total)));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddEdit(string id, ProdutoAddEditVM model)
        {
            ModelState.Remove("DataHoraRegistro");
            ModelState.Remove("IdUsuarioRegistro");

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var data = model.ToData();

            if (String.IsNullOrEmpty(id))
            {
                data.IdUsuarioRegistro = Convert.ToDecimal(HttpContextHelper.GetAuthUserId(HttpContext));
                data.DhRegistro        = Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmmss"));

                _produtoRepo.Add(data);
            }
            else
            {
                _produtoRepo.Update(data);
            }

            await _uow.CommitAsync();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddEdit(decimal id, BaseConhecimentoAddEditVM model)
        {
            ModelState.Remove("IdUsuarioRegistro");
            ModelState.Remove("DataHoraRegistro");
            ModelState.Remove("SitBase");

            ViewBag.IsEditing = "N";
            if (id > 0)
            {
                ModelState.Remove("PalavraChave");
                ViewBag.IsEditing = "S";
            }

            if (!ModelState.IsValid)
            {
                await getTipoVisualizacaoSelect();
                await getSituacaoBaseSelect();
                await getProdutosBaseSelect();

                return(View(model));
            }

            var userContext = Convert.ToDecimal(HttpContextHelper.GetAuthUserId(HttpContext));

            var data = model.ToData(userContext, id);

            if (id == 0)
            {
                data.DtHrRegistro = Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmmss"));
                data.StBase       = EnumHelper.SituacaoBase.BA9.ToString();

                _baseconhecimentoRepo.Add(data);

                // Palavras Chave existentes
                var words = model.PalavraChave.KeyWordToArray();

                // Lista das palavras chave que foram informadas
                var wordID = new List <decimal>();

                // Verifica se a Palavra Chave informada já existe na tabela
                var wordsData = await _palavrachaveRepo.GetAsync();

                foreach (var word in words)
                {
                    decimal IdWord = wordsData
                                     .Where(c => c.Palavra.ToUpper() == word.ToUpper())
                                     .Select(c => c.IdPalavra).FirstOrDefault();

                    if (IdWord == 0)
                    {
                        // Cria a nova palavra chave
                        var plvr = new PalavraChave()
                        {
                            Palavra           = word,
                            IdUsuarioRegistro = data.IdUsuarioRegistro
                        };

                        _palavrachaveRepo.Add(plvr);

                        wordID.Add(plvr.IdPalavra);
                    }
                    else
                    {
                        wordID.Add(IdWord);
                    }
                }

                // Busca Chave
                foreach (var word in wordID)
                {
                    _buscachaveRepo.Add(new BuscaChave()
                    {
                        Id                = data.Id,
                        IdPalavra         = word,
                        IdUsuarioRegistro = data.IdUsuarioRegistro
                    });
                }
            }
            else
            {
                _baseconhecimentoRepo.Update(data);
            }

            await _uow.CommitAsync();

            return(RedirectToAction("Index"));
        }