Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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());
        }