public IActionResult DeleteSubMenu([FromBody] SubMenuDTO request) { var response = new OperationResponse <ICollection>(); try { var result = _lookupService.DeleteSubMenu(request.Tasks); if (result.Any(fn => !string.IsNullOrEmpty(fn.Message))) { response.State = ResponseState.ValidationError; response.Data = result.ToList(); return(new JsonResult(response)); } else { response.State = ResponseState.Success; } } catch (Exception exception) { response.State = ResponseState.Error; response.Messages.Add(exception.Message); _logger.LogError(exception, "Error in DeleteSubMenu ==>" + exception.StackTrace, request); } return(new JsonResult(response)); }
public void CarregaMenu(MenuPrincipalDTO pai) { //Obtém as opções do banco de dados SubMenu menu = new SubMenu(); ArrayList opcoes = menu.GetOpcoes(pai); if (opcoes.Count < 1) { AddBackGroudImage(); return; } //Tamanho da tela int hTela = pSubMenu.Size.Height; int wTela = pSubMenu.Size.Width; //Quantidade de itens no menu int qtd = opcoes.Count; int qtdOpcoesLinha = (wTela / wBtn) - 1; int qtdLinhas = qtd / qtdOpcoesLinha; if (qtd % qtdOpcoesLinha != 0) { qtdLinhas++; } //Calculo para centralizar os botões int iniPosY; int iniPosX; //Verifica se precisa mais de uma linha if (qtd > qtdOpcoesLinha) { iniPosY = (hTela / 2) - (qtdLinhas * hBtn / 2); iniPosX = (wTela / 2) - (qtdOpcoesLinha * wBtn / 2); } else { iniPosY = (hTela / 2) - (hBtn / 2); iniPosX = (wTela / 2) - (qtd * wBtn / 2); } //for para as linhas for (int i = 0; i < qtdLinhas; i++) { int posY = iniPosY + (i * hBtn); //Calculas quantos item terão nessa linha int restantes = qtd - (qtdOpcoesLinha * i); if (restantes > qtdOpcoesLinha) { restantes = qtdOpcoesLinha; } //for para as colunas for (int j = 0; j < restantes; j++) { int opc = j + i * qtdOpcoesLinha; /* Verifica se precisa recalcular as posições * Necessário para quando tiver poucas opções na linha */ int posX; if (restantes < qtdOpcoesLinha) { posX = (wTela / 2) - (restantes * wBtn / 2); posX += j * wBtn; } else { posX = iniPosX + (j * wBtn); } //Pega as informações provinda do banco de dados para mostrar o botão para o usuário SubMenuDTO dto = (SubMenuDTO)opcoes[opc]; string nome = dto.Opcao; string btnNome = $"{nome}"; AddButton(posY, posX, btnNome, dto.Descricao); } } }