public void GuardarEvaluacionEstandaresLogicaTest() { EDEvaluacionEstandarMinimo eval = new EDEvaluacionEstandarMinimo { IdCriterio = 2, IdEmpresaEvaluar = 3, IdValoracionCriterio = 2, IdCiclo = 1, Justificacion = "No tiene", Actividades = CrearActividades() }; LNEvaluacionStandMinimos logica = new LNEvaluacionStandMinimos(); EDCiclo ciclo = logica.GuardarEvaluacionEstandar(eval); Assert.IsNotNull(ciclo, "La peticion fallo, el objeto es nulo"); Assert.IsTrue(ciclo.Id_Ciclo > 0, "La peticion fallo, la lista de estandares esta vacia"); }
/// <summary> /// Genra los datos para la grafica de informe final de calificacion de /// estandares por ciclo /// </summary> /// <param name="Nit"></param> /// <param name="IdCiclo"></param> /// <returns></returns> public EDCiclo ObtenerCalificacionEstandresPorCliclo(string Nit, int IdCiclo, int Idval) { EDCiclo ciclo = new EDCiclo(); ciclo = esm.ObtenerStandares(IdCiclo); foreach (var stand in ciclo.Estandares) { var calificacion = resm.ObtenerPorcentajeObtenidoEstandar(IdCiclo, stand.Id_Estandar, Nit, Idval); if (calificacion > 0) { stand.Calificacion = (calificacion * 100) / stand.Porcentaje_Max; } else { stand.Calificacion = 0; } } return(ciclo); }
public HttpResponseMessage ObtenerCriterioConsulta(int idCiclo, string NIT, string IdEval, int idElemento, bool tipo) { HttpResponseMessage response = null; try { LNEvaluacionStandMinimos logica = new LNEvaluacionStandMinimos(); int IdEvalInt = 0; if (int.TryParse(IdEval, out IdEvalInt)) { } EDCiclo EDCiclo = new EDCiclo(); if (tipo) { EDCiclo = logica.ObtenerEstandaresPorCicloConsulta1(idCiclo, NIT, IdEvalInt, idElemento); } else { EDCiclo = logica.ObtenerEstandaresPorCicloConsulta(idCiclo, NIT, IdEvalInt, idElemento); } if (EDCiclo != null) { response = Request.CreateResponse <EDCiclo>(HttpStatusCode.OK, EDCiclo); return(response); } else { response = Request.CreateResponse(HttpStatusCode.ExpectationFailed); return(response); } } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.InternalServerError); return(response); } }
/// <summary> /// Genra el archivo excel para la grafica de informe final de calificacion de /// estandares por ciclo /// </summary> /// <param name="Nit"></param> /// <param name="IdCiclo"></param> /// <returns></returns> public byte[] ObtenerExcelCalificacionEstandresPorCliclo(string Nit, int IdCiclo, int Idval) { EDCiclo ciclo = new EDCiclo(); ciclo = esm.ObtenerStandares(IdCiclo); foreach (var stand in ciclo.Estandares) { var calificacion = resm.ObtenerPorcentajeObtenidoEstandar(IdCiclo, stand.Id_Estandar, Nit, Idval); if (calificacion > 0) { stand.Calificacion = (calificacion * 100) / stand.Porcentaje_Max; } else { stand.Calificacion = 0; } } ExcelPackage excel = new ExcelPackage(); excel.Workbook.Worksheets.Add(ciclo.Nombre); ExcelWorksheet hoja = excel.Workbook.Worksheets[1]; hoja.Cells["A1:B1"].Merge = true; hoja.Cells["A1"].Value = "CALIFICACION DEL CICLO " + ciclo.Nombre; hoja.Cells["A1"].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin); hoja.Cells["A1"].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; hoja.Cells["A1"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; hoja.Cells["A1"].Style.Font.Bold = true; hoja.Cells["A1"].Style.WrapText = true; hoja.Cells["A2"].Value = "ESTANDAR"; hoja.Cells["A2"].Style.Font.Bold = true; hoja.Cells["B2"].Value = "CALIFICACION"; hoja.Cells["B2"].Style.Font.Bold = true; int nunInicial = 3; foreach (var estandar in ciclo.Estandares) { hoja.Cells[string.Format("A{0}", nunInicial)].Value = estandar.Descripcion; hoja.Cells[string.Format("A{0}", nunInicial)].Style.WrapText = true; hoja.Cells[string.Format("B{0}", nunInicial)].Value = estandar.Calificacion; hoja.Cells[string.Format("B{0}", nunInicial)].Style.WrapText = true; hoja.Cells[string.Format("B{0}", nunInicial)].OfType <decimal>(); nunInicial++; } hoja.Row(1).Height = 40; hoja.Row(3).Height = 40; hoja.Column(1).Width = 50; hoja.Column(2).Width = 25; hoja.Column(3).Width = 20; foreach (var cel in hoja.Cells[string.Format("A1:C{0}", ciclo.Estandares.Count + 2)]) { cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin); } //AGREGAMOS LA GRAFICA var chart = hoja.Drawings.AddChart("CALIFICACION DEL CICLO " + ciclo.Nombre, OfficeOpenXml.Drawing.Chart.eChartType.ColumnClustered3D); chart.Title.Text = "CALIFICACION DEL CICLO " + ciclo.Nombre; chart.SetPosition(1, 0, 2, 0); chart.SetSize(600, 400); // Tamaño de la gráfica chart.Legend.Remove(); // Si desea eliminar la leyenda chart.YAxis.MaxValue = 100; // Define donde está la información de la gráfica. var serie = chart.Series.Add(hoja.Cells[string.Format("B3:B{0}", ciclo.Estandares.Count + 2)], hoja.Cells[string.Format("A3:A{0}", ciclo.Estandares.Count + 2)]); //FileInfo fileInfo = new FileInfo(@"D:\Archivos\Actividades.xlsx"); //Ac.SaveAs(fileInfo); return(excel.GetAsByteArray()); }