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))); }
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")); }
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")); }