public static List <RecursoValioso> CalcularResultadosMatriz(List <MatrizValoracion> Matriz, short IdEmpresa) { List <EscalaValoracion> escalaValoracion = MaestrosDA.ConsultarEscalaValoracion(IdEmpresa); List <RecursosEmpresa> recursosEmpresa = MaestrosDA.ConsultarRecursos(IdEmpresa); List <RecursoValioso> RecursosValiosos = new List <RecursoValioso>(); foreach (RecursosEmpresa item in recursosEmpresa) { List <MatrizValoracion> MatrizRecurso = Matriz.Where(p => p.IdRecurso == item.IdRecursoEmpresa).Distinct().ToList(); decimal ValorTotalRecurso = 0; foreach (MatrizValoracion itemRecurso in MatrizRecurso) { decimal ValorClasificacion = escalaValoracion.Where(p => p.IdClasificacion == itemRecurso.IdClasificacion).Sum(p => p.Valor); decimal ValorCaracteristica = escalaValoracion.Where(p => p.IdCaracteristica == itemRecurso.IdCaracteristica).Single().Valor; if (ValorClasificacion == ValorCaracteristica) { ValorTotalRecurso += itemRecurso.Valor * (ValorClasificacion / 100); } else { ValorTotalRecurso += itemRecurso.Valor * (ValorCaracteristica / 100); //* (ValorClasificacion / 100); } } RecursosValiosos.Add(new RecursoValioso { IdRecursoEmpresa = item.IdRecursoEmpresa, NombreRecurso = item.NombreRecurso, Valor = ValorTotalRecurso, IdTipoRecurso = item.TipoRecurso.IdTipoRecurso, TipoRecurso = item.TipoRecurso.NombreTipoRecurso }); } return(RecursosValiosos); }
public static List <RecursoValioso> CalcularResultadosCaracteritica(List <MatrizValoracion> Matriz, short IdEmpresa) { List <EscalaValoracion> escalaValoracion = MaestrosDA.ConsultarEscalaValoracion(IdEmpresa); List <RecursosEmpresa> recursosEmpresa = MaestrosDA.ConsultarRecursos(IdEmpresa); List <RecursoValioso> RecursosValiosos = new List <RecursoValioso>(); foreach (EscalaValoracion item in escalaValoracion) { List <MatrizValoracion> MatrizCaracteristica = Matriz.Where(p => p.IdCaracteristica == item.IdCaracteristica).Distinct().ToList(); decimal ValorTotalCaracteristica = 0; foreach (MatrizValoracion itemCaracteristica in MatrizCaracteristica) { decimal ValorClasificacion = escalaValoracion.Where(p => p.IdClasificacion == itemCaracteristica.IdClasificacion).Sum(p => p.Valor); decimal ValorCaracteristica = item.Valor; ValorTotalCaracteristica += itemCaracteristica.Valor * (ValorCaracteristica / 100); //* (ValorClasificacion / 100); } RecursosValiosos.Add(new RecursoValioso { Valor = ValorTotalCaracteristica, NombreCaracteristica = escalaValoracion.Where(p => p.IdCaracteristica == item.IdCaracteristica).Single().Caracteristica }); } return(RecursosValiosos); }