private void Atualizar() { SCI.Sistema.IRKO.ResultadoPainel _resultado = wrSistema.Painel(Guid); if (_resultado.Sucesso) { SCI.Sistema.IRKO.Painel _painel = _resultado.RetornoPainel; double _md = 0; Series _serieLicenca = chtLicenca.Series.First(); _serieLicenca.Points.Clear(); _md = (int)Math.Round(((double)_painel.UsoAtualLicenca / _painel.TotalLincenca) * 100, MidpointRounding.AwayFromZero); _serieLicenca.Points.AddXY("Em Uso(" + _md.ToString() + "%)", _md); long _livre = _painel.TotalLincenca - _painel.UsoAtualLicenca; _md = (int)Math.Round(((double)_livre / _painel.TotalLincenca) * 100, MidpointRounding.AwayFromZero); _serieLicenca.Points.AddXY("Livre(" + _md.ToString() + "%)", _md); Series _serieAIUSO = crtAiuso.Series.First(); _serieAIUSO.Points.Clear(); _painel.RotinaSistemaIrko.OrderByDescending(_irko => _irko.Value).Take(10).ToList().ForEach(_irk => { _md = (int)Math.Round(((double)_irk.Value / _painel.TotalLogadoIrko) * 100, MidpointRounding.AwayFromZero); _serieAIUSO.Points.AddXY(_irk.RotinaSistemaIrkoKey, _md); }); long _outros = _painel.RotinaSistemaIrko.OrderByDescending(_irko => _irko.Value).Skip(10) .Select(_irk => _irk.Value).Sum(); _md = (int)Math.Round(((double)_outros / _painel.TotalLogadoIrko) * 100, MidpointRounding.AwayFromZero); _serieAIUSO.Points.AddXY("Outros", _md); Series _serieLock = crtLock.Series.First(); _serieLock.Points.Clear(); _md = (int)Math.Round(((double)_painel.UsoLock / _painel.TamanhoLock) * 100, MidpointRounding.AwayFromZero); _serieLock.Points.AddXY("Em Uso(" + _md.ToString() + "%)", _md); _md = (int)Math.Round(((double)_painel.LockLivre / _painel.TamanhoLock) * 100, MidpointRounding.AwayFromZero); _serieLock.Points.AddXY("Livre(" + _md.ToString() + "%)", _md); _md = (int)Math.Round(((double)_painel.LockSistema / _painel.TamanhoLock) * 100, MidpointRounding.AwayFromZero); _serieLock.Points.AddXY("Sistema(" + _md.ToString() + "%)", _md); Series _serieWork = crtWork.Series.First(); _serieWork.Points.Clear(); _serieWork.Points.AddXY("Em Uso(" + _painel.WorkUsado.ToString() + "%)", _painel.WorkUsado); _serieWork.Points.AddXY("Livre(" + (100 - _painel.WorkUsado) + "%)", (100 - _painel.WorkUsado)); AtualizarChamados(_painel); } else { MessageBox.Show(_resultado.Mensagem); } }
private void AtualizarChamados(SCI.Sistema.IRKO.Painel _painel) { dgvChamado.Rows.Clear(); string _anomes = _painel.Chamados.FirstOrDefault().ANOMES; int _ano = int.Parse(_anomes.Substring(0, 4)); int _mes = int.Parse(_anomes.Substring(4, 2)); string[] _meses = new string[] { "", "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" }; gpbChamado.Text = "Chamados até " + _meses[_mes] + " de " + _ano.ToString(); double _totalChamado = double.Parse(_painel.Chamados.Where(_chamado => _chamado.Nome == "Total").FirstOrDefault().TotalChamado); _painel.Chamados.ToList().ForEach(_chamado => { if (_chamado.Nome == "Total") { gpbTotalChamado.Text = "Total de Chamados: " + _chamado.TotalChamado; Series _serieChamado = crtChamados.Series.First(); _serieChamado.Points.Clear(); int _md; _md = (int)Math.Round((double.Parse(_chamado.Fechado) / double.Parse(_chamado.TotalChamado)) * 100, MidpointRounding.AwayFromZero); _serieChamado.Points.AddXY("Fechados(" + _md.ToString() + "%)", _md); _md = (int)Math.Round((double.Parse(_chamado.Pendente) / double.Parse(_chamado.TotalChamado)) * 100, MidpointRounding.AwayFromZero); _serieChamado.Points.AddXY("Abertos(" + _md.ToString() + "%)", _md); _md = (int)Math.Round((double.Parse(_chamado.NaoProcede) / double.Parse(_chamado.TotalChamado)) * 100, MidpointRounding.AwayFromZero); _serieChamado.Points.AddXY("Não Procede(" + _md.ToString() + "%)", _md); } else { int _mdTotal = (int)Math.Round(((double.Parse(_chamado.TotalChamado) / _totalChamado)) * 100, MidpointRounding.AwayFromZero); int _mdPendente = (int)Math.Round(((double.Parse(_chamado.Pendente) / double.Parse(_chamado.TotalChamado))) * 100, MidpointRounding.AwayFromZero); int _mdFechado = (int)Math.Round(((double.Parse(_chamado.Fechado) / double.Parse(_chamado.TotalChamado))) * 100, MidpointRounding.AwayFromZero); int _mdNapProcede = (int)Math.Round(((double.Parse(_chamado.NaoProcede) / double.Parse(_chamado.TotalChamado))) * 100, MidpointRounding.AwayFromZero); string[] _linha = new string[] { _chamado.Nome, _chamado.TotalChamado + "(" + _mdTotal + "%)", _chamado.Pendente + "(" + _mdPendente + "%)", _chamado.Fechado + "(" + _mdFechado + "%)", _chamado.NaoProcede + "(" + _mdNapProcede + "%)" }; dgvChamado.Rows.Add(_linha); } }); }