public ActionResult InserirTabelas(FormCollection form, MetricasIn metricasIn) { var nomeSplit = form["NomeTabela"].Split(','); var atributosSplit = form["QuantidadeAtributos"].Split(','); metricasIn.TabelaDominio = nomeSplit.Select((t, i) => new TabelaDominio { NomeTabela = t, QuantidadeAtributos = int.Parse(atributosSplit[i]), }).ToList(); /* Adiciona Tabela Geral, calculando como base a quantidade de atributos GERAL*/ metricasIn.TabelaDominio.Add(new TabelaDominio { NomeTabela = "Geral", QuantidadeAtributos = metricasIn.TabelaDominio.Select(x => x.QuantidadeAtributos).Sum() }); var TabelaDominioContainer = new Gerenciar().Inserir(metricasIn); /* Armazena em Session */ HttpContext.Session["TabelaDominioContainer"] = TabelaDominioContainer; return(RedirectToAction("Resultados")); }
public MetricasOut Inserir(MetricasIn metricasIn) { var tabelasBrutas = CalcularTabelasBrutas(metricasIn); var metricasOut = new MetricasOut { TabelasBrutas = tabelasBrutas, FPB = CalcularFPB(tabelasBrutas), FA = CalcularFA(metricasIn.IntIdFa), LinguagemProgramacao = GetLinguagem(metricasIn.IntIdLinguagemProgramacao), TipoSistema = GetSistema(metricasIn.IntIdTipoSistema), MesIso = GetISO(metricasIn.IntIdIso) }; metricasOut.CalculoBaseFA_FPB = CalcularBaseFAcomFPB(metricasOut.FA, metricasOut.FPB); metricasOut.PrecoDaLinguagem = CalcularPrecoLinguagem(metricasOut.CalculoBaseFA_FPB, metricasOut.LinguagemProgramacao); metricasOut.ValorEmTempoPorDivisaodoSistema = CalcularTipoSistema(metricasOut.PrecoDaLinguagem, metricasOut.TipoSistema); metricasOut.TempoTotalSistemaEmExtenso = CalcularTempo(metricasOut.ValorEmTempoPorDivisaodoSistema); metricasOut.CalculoISO = CalcularISO(metricasOut.ValorEmTempoPorDivisaodoSistema, metricasOut.MesIso); metricasOut.PrecoDoSistema = CalcularPrecoSistema(metricasOut.CalculoISO); return(metricasOut); }
private TabelasBrutas CalcularTabelasBrutas(MetricasIn tabelaDominioContainer) { return(new TabelasBrutas { TabelaEntrada = new MetricasEntrada().CalcularEntrada(tabelaDominioContainer), TabelaSaida = new MetricasSaida().CalcularSaida(tabelaDominioContainer), TabelaConsulta = new MetricasConsulta().CalcularConsulta(tabelaDominioContainer), TabelaArquivo = new MetricasArquivo().CalcularArquivo(tabelaDominioContainer), TabelaInterface = new MetricasInterface().CalcularInterface(tabelaDominioContainer) }); }
public List <TabelaConsulta> CalcularConsulta(MetricasIn tabelaDominioContainer) { Debug.WriteLine("######## CONSULTA ########"); //tabelaDominioContainer.TabelaDominio = tabelaDominioContainer.TabelaDominio.Where(x => x.NomeTabela != "Geral").ToList(); var contador = new Contador(); /* 1 a 4 - Atributos */ ColunaA(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 1 && x.QuantidadeAtributos <= 4).ToList(), contador); /* 5 a 15 - Atributos */ ColunaB(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 5 && x.QuantidadeAtributos <= 15).ToList(), contador); /* 16 ou mais - Atributos */ ColunaC(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 16).ToList(), contador); Debug.WriteLine("######## FIM CONSULTA ########"); return(new List <TabelaConsulta> { new TabelaConsulta { Complexidade = TabelaConsultaPeso.Simples, NumeroOcorrencia = contador.simples }, new TabelaConsulta { Complexidade = TabelaConsultaPeso.Medio, NumeroOcorrencia = contador.medio }, new TabelaConsulta { Complexidade = TabelaConsultaPeso.Complexo, NumeroOcorrencia = contador.complexo } }); }
public List <TabelaInterface> CalcularInterface(MetricasIn tabelaDominioContainer) { Debug.WriteLine("######## INTERFACE ########"); var contador = new Contador(); /* 1 a 19 - Atributos */ ColunaA(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 1 && x.QuantidadeAtributos <= 19).ToList(), contador); /* 20 a 50 - Atributos */ ColunaB(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 20 && x.QuantidadeAtributos <= 50).ToList(), contador); /* 51 ou mais - Atributos */ ColunaC(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 51).ToList(), contador); Debug.WriteLine("######## FIM INTERFACE ########"); return(new List <TabelaInterface> { new TabelaInterface { Complexidade = TabelaInterfacePeso.Simples, NumeroOcorrencia = contador.simples }, new TabelaInterface { Complexidade = TabelaInterfacePeso.Medio, NumeroOcorrencia = contador.medio }, new TabelaInterface { Complexidade = TabelaInterfacePeso.Complexo, NumeroOcorrencia = contador.complexo } }); }
public List <TabelaArquivo> CalcularArquivo(MetricasIn tabelaDominioContainer) { Debug.WriteLine("######## ARQUIVO ########"); var contador = new Contador(); /* 1 a 19 - Atributos */ ColunaA(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 1 && x.QuantidadeAtributos <= 19 && x.NomeTabela != "Geral").ToList(), contador); /* 20 a 50 - Atributos */ ColunaB(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 20 && x.QuantidadeAtributos <= 50 && x.NomeTabela != "Geral").ToList(), contador); /* 51 ou mais - Atributos */ ColunaC(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 51 && x.NomeTabela != "Geral").ToList(), contador); Debug.WriteLine("######## FIM ARQUIVO ########"); return(new List <TabelaArquivo> { new TabelaArquivo { Complexidade = TabelaArquivoPeso.Simples, NumeroOcorrencia = contador.simples }, new TabelaArquivo { Complexidade = TabelaArquivoPeso.Medio, NumeroOcorrencia = contador.medio }, new TabelaArquivo { Complexidade = TabelaArquivoPeso.Complexo, NumeroOcorrencia = contador.complexo } }); }
public List <TabelaSaida> CalcularSaida(MetricasIn tabelaDominioContainer) { Debug.WriteLine("######## SAIDA ########"); var contador = new Contador(); /* 1 a 5 - Atributos */ ColunaA(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 1 && x.QuantidadeAtributos <= 5).ToList(), contador); /* 6 a 19 - Atributos */ ColunaB(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 6 && x.QuantidadeAtributos <= 19).ToList(), contador); /* 20 ou mais - Atributos */ ColunaC(tabelaDominioContainer.TabelaDominio.Where(x => x.QuantidadeAtributos >= 20).ToList(), contador); Debug.WriteLine("######## FIM SAIDA ########"); return(new List <TabelaSaida> { new TabelaSaida { Complexidade = TabelaSaidaPeso.Simples, NumeroOcorrencia = contador.simples }, new TabelaSaida { Complexidade = TabelaSaidaPeso.Medio, NumeroOcorrencia = contador.medio }, new TabelaSaida { Complexidade = TabelaSaidaPeso.Complexo, NumeroOcorrencia = contador.complexo } }); }
private MetricasIn TabelaDefault() { var TabelaDominioContainer = new MetricasIn { TabelaDominio = new List <TabelaDominio> { new TabelaDominio { NomeTabela = "Cliente", QuantidadeAtributos = 6, }, new TabelaDominio { NomeTabela = "Viagem", QuantidadeAtributos = 7, }, new TabelaDominio { NomeTabela = "Rota", QuantidadeAtributos = 4, } , new TabelaDominio { NomeTabela = "PontoParada", QuantidadeAtributos = 2, }, new TabelaDominio { NomeTabela = "Atendente", QuantidadeAtributos = 2, }, new TabelaDominio { NomeTabela = "Funcionario", QuantidadeAtributos = 5, }, new TabelaDominio { NomeTabela = "Motorista", QuantidadeAtributos = 2, }, new TabelaDominio { NomeTabela = "Onibus", QuantidadeAtributos = 5, }, new TabelaDominio { NomeTabela = "Localização", QuantidadeAtributos = 6, }, } }; var geral = TabelaDominioContainer.TabelaDominio.Select(x => x.QuantidadeAtributos).Sum(); TabelaDominioContainer.TabelaDominio.Add(new TabelaDominio { NomeTabela = "Geral", QuantidadeAtributos = geral }); return(TabelaDominioContainer); }