/// <summary>
        /// Crea una entidad Área.
        /// </summary>
        /// <returns>Retorna un valor bool acorde a la ejecucion satisfactoria del metodo</returns>
        public bool Create()
        {
            try
            {
                DAL.WFBSEntities modelo = new DAL.WFBSEntities();
                DAL.EVALUACION   ev     = new DAL.EVALUACION();

                PeriodoEvaluacion          pe   = new PeriodoEvaluacion();
                PeriodoEvaluacionOperacion peOp = new PeriodoEvaluacionOperacion(pe);

                ev.ID_EVALUACION             = this._evaluacion.ID_EVALUACION;
                ev.ID_AREA                   = this._evaluacion.ID_AREA;
                ev.ID_PERIODO_EVALUACION     = peOp.periodoEvaluacionActivo();
                ev.ID_COMPETENCIA            = this._evaluacion.ID_COMPETENCIA;
                ev.RUT_EVALUADO              = this._evaluacion.RUT_EVALUADO;
                ev.RUT_EVALUADOR             = this._evaluacion.RUT_EVALUADOR;
                ev.NOTA_ESPERADA_COMPETENCIA = this._evaluacion.NOTA_ESPERADA_COMPETENCIA;
                ev.FECHA_CONTESTA_ENCUESTA   = this._evaluacion.FECHA_CONTESTA_ENCUESTA;
                ev.NOTA_ENCUESTA             = this._evaluacion.NOTA_ENCUESTA;
                ev.ID_TIPO_EVALUACION        = this._evaluacion.ID_TIPO_EVALUACION;
                modelo.EVALUACION.Add(ev);
                modelo.SaveChanges();
                modelo = null;
                return(true);
            }
            catch (Exception ex)
            {
                Log.Logger.log("No se pudo Agregar la evaluación:" + ex.ToString());
                return(false);
            }
        }
        private void btnEliminarPeriodo_Click(object sender, RoutedEventArgs e)
        {
            if (dgPeriodo.SelectedItem != null)
            {
                PeriodoEvaluacion pe = (PeriodoEvaluacion)dgPeriodo.SelectedItem;
                if (pe.vigencia == 0)
                {
                    MessageBox.Show("El Periodo de Evaluación se encuentra desactivado", "Aviso");
                }
                else
                {
                    string xml = pe.Serializar();
                    WFBS.Presentation.ServiceWCF.ServiceWFBSClient servicio = new WFBS.Presentation.ServiceWCF.ServiceWFBSClient();

                    if (servicio.EliminarPeriodoEvaluacion(xml))
                    {
                        MessageBox.Show("El Periodo de Evaluación seleccionado ha sido desactivado", "Éxito!");
                        NavigationService           navService = NavigationService.GetNavigationService(this);
                        MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                        navService.Navigate(nextPage);
                    }
                    else
                    {
                        MessageBox.Show("No se pudo eliminar el Periodo de Evaluación", "Aviso");
                    }
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar un Periodo de Evaluación antes", "Aviso:");
            }
        }
        public string LeerPeriodosEvaluaciones()
        {
            XML formato = new XML();

            PeriodoEvaluacion          pe        = new PeriodoEvaluacion();
            PeriodoEvaluacionOperacion periodoOp = new PeriodoEvaluacionOperacion(pe);
            List <PeriodoEvaluacion>   periodos  = periodoOp.Listar();

            return(formato.Serializar(periodos));
        }
Пример #4
0
 public async Task Create(PeriodoEvaluacion model)
 {
     try
     {
         _db.periodoEvaluacion.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
 public bool EliminarPeriodoEvaluacion(string xml)
 {
     try
     {
         XML formato = new XML();
         PeriodoEvaluacion          periodoEva = formato.Deserializar <PeriodoEvaluacion>(xml);
         PeriodoEvaluacionOperacion periodoOp  = new PeriodoEvaluacionOperacion(periodoEva);
         return(periodoOp.Delete());
     }
     catch (Exception ex)
     {
         Logger.log("No se pudo Desactivar el Periodo de Evaluación: " + ex.ToString());
         return(false);
     }
 }
 private void btnModificarPeriodo_Click(object sender, RoutedEventArgs e)
 {
     if (dgPeriodo.SelectedItem != null)
     {
         PeriodoEvaluacion us = (PeriodoEvaluacion)dgPeriodo.SelectedItem;
         //MessageBox.Show(us.Rut, "Éxito!");
         NavigationService navService = NavigationService.GetNavigationService(this);
         ModificarPeriodo  nextPage   = new ModificarPeriodo(us.idPeriodo);
         navService.Navigate(nextPage);
     }
     else
     {
         MessageBox.Show("Debe seleccionar un periodo antes", "Aviso:");
     }
 }
 private void btnModificarPeriodo_Click(object sender, RoutedEventArgs e)
 {
     if (dgPeriodo.SelectedItem != null)
     {
         PeriodoEvaluacion ar = (PeriodoEvaluacion)dgPeriodo.SelectedItem;
         int id = Convert.ToInt32(ar.idPeriodo);
         NavigationService navService = NavigationService.GetNavigationService(this);
         ModificarPeriodo  nextPage   = new ModificarPeriodo(id);
         navService.Navigate(nextPage);
     }
     else
     {
         MessageBox.Show("Debe seleccionar un Periodo de Evaluación antes", "Aviso:");
     }
 }
 private void btnEliminarPeriodo_Click(object sender, RoutedEventArgs e)
 {
     if (dgPeriodo.SelectedItem != null)
     {
         PeriodoEvaluacion us = (PeriodoEvaluacion)dgPeriodo.SelectedItem;
         us.Delete();
         MessageBox.Show("El periodo seleccionado ha sido desactivada", "Éxito!");
         NavigationService           navService = NavigationService.GetNavigationService(this);
         MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
         navService.Navigate(nextPage);
     }
     else
     {
         MessageBox.Show("Debe seleccionar un periodo antes", "Aviso:");
     }
 }
        /* Reporte evaluación por grupo */
        /// <summary>
        /// Lista de las notas de los funcionarios por cada Competencia.
        /// </summary>
        /// <param name="id_area">Recibe un parametro id referente a un Área</param>
        /// <param name="id_competencia">Recibe un parametro id referente a una Competencia</param>
        /// <returns>Retorna las notas de los funcionarios evaluados por Área</returns>
        public List <float> ObtenerNotasCompetencia(int id_area, int id_competencia)
        {//      Obtener las brechas de todos los funcionarios
            PeriodoEvaluacion          pe   = new PeriodoEvaluacion();
            PeriodoEvaluacionOperacion peOp = new PeriodoEvaluacionOperacion(pe);

            int id_periodo = peOp.periodoEvaluacionActivo();

            var notasDB = CommonBC.ModeloWFBS.EVALUACION.Where(e => e.ID_PERIODO_EVALUACION == id_periodo && e.ID_AREA == id_area &&
                                                               e.ID_COMPETENCIA == id_competencia).Select(e => e.NOTA_ENCUESTA);
            List <float> notas = new List <float>();

            foreach (var item in notasDB)
            {
                notas.Add((float)item);
            }
            return(notas);
        }
Пример #10
0
        public async Task UpdateEstado(PeriodoEvaluacion obj)
        {
            try
            {
                var _obj = await _db.periodoEvaluacion.FirstOrDefaultAsync(e => e.PeriodoEvaluaionId == obj.PeriodoEvaluaionId);

                if (_obj != null)
                {
                    _obj.Estado = obj.Estado;
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #11
0
        public async Task Update(PeriodoEvaluacion model)
        {
            try
            {
                var _model = await _db.periodoEvaluacion.FirstOrDefaultAsync(e => e.PeriodoEvaluaionId == model.PeriodoEvaluaionId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
 public int periodoActivo()
 {
     try
     {
         XML formato = new XML();
         PeriodoEvaluacion          pe   = new PeriodoEvaluacion();
         PeriodoEvaluacionOperacion peOp = new PeriodoEvaluacionOperacion(pe);
         int id = peOp.periodoEvaluacionActivo();
         pe.ID_PERIODO_EVALUACION = id;
         peOp.Read();
         return(Convert.ToInt32(pe.ID_PERIODO_EVALUACION));
     }
     catch (Exception ex)
     {
         Logger.log("No se pudo obtener el periodo actual: " + ex.ToString());
         return(0);
     }
 }
Пример #13
0
        private List <PeriodoEvaluacion> GenerarListadoPeriodos(List <DAL.PERIODO_EVALUACION> periodosBDD)
        {
            List <PeriodoEvaluacion> periodosController = new List <PeriodoEvaluacion>();

            foreach (DAL.PERIODO_EVALUACION item in periodosBDD)
            {
                PeriodoEvaluacion ar = new PeriodoEvaluacion();

                ar.ID_PERIODO_EVALUACION = Convert.ToInt32(item.ID_PERIODO_EVALUACION);
                ar.FECHA_INICIO          = item.FECHA_INICIO;
                ar.VIGENCIA = Convert.ToInt32(item.VIGENCIA);
                ar.PORCENTAJE_EVALUACION     = Convert.ToInt32(item.PORCENTAJE_EVALUACION);
                ar.PORCENTAJE_AUTOEVALUACION = Convert.ToInt32(item.PORCENTAJE_AUTOEVALUACION);

                periodosController.Add(ar);
            }

            return(periodosController);
        }
Пример #14
0
 public string LeerPeriodoEvaluacion(string xml)
 {
     try
     {
         PeriodoEvaluacion pe = new PeriodoEvaluacion(xml);
         if (pe.Read())
         {
             return(pe.Serializar());
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
Пример #15
0
        private void dgPeriodo_Loaded(object sender, RoutedEventArgs e)
        {
            PeriodoEvaluacion          pe        = new PeriodoEvaluacion();
            PeriodoEvaluacionOperacion periodoOp = new PeriodoEvaluacionOperacion(pe);

            WFBS.Presentation.ServiceWFBS.ServiceWFBSClient servicio = new WFBS.Presentation.ServiceWFBS.ServiceWFBSClient();
            XML formato = new XML();

            dgPeriodo.ItemsSource = formato.Deserializar <List <PeriodoEvaluacion> >(servicio.LeerPeriodosEvaluaciones());

            dgPeriodo.Columns[0].Visibility = Visibility.Hidden;

            dgPeriodo.Columns[1].Header = "Fecha de Inicio";
            dgPeriodo.Columns[2].Header = "Vigencia (dias)";
            dgPeriodo.Columns[3].Header = "% de Evaluación";
            dgPeriodo.Columns[4].Header = "% de Auto Evaluación";

            //dgPeriodo.Columns[5].Visibility = Visibility.Collapsed;
        }
        /// <summary>
        /// Identifica a un usuario ya evaluado.
        /// </summary>
        /// <returns>Retorna un valor bool acorde a la ejecucion satisfactoria del metodo</returns>
        public bool usuarioEvaluado()
        {
            try
            {
                PeriodoEvaluacion          pe   = new PeriodoEvaluacion();
                PeriodoEvaluacionOperacion peOp = new PeriodoEvaluacionOperacion(pe);
                decimal          pe_act         = peOp.periodoEvaluacionActivo();
                DAL.WFBSEntities evaluacion     = new DAL.WFBSEntities();
                DAL.EVALUACION   ev             = evaluacion.EVALUACION.First(b => b.ID_TIPO_EVALUACION == _evaluacion.ID_TIPO_EVALUACION &&
                                                                              b.ID_PERIODO_EVALUACION == pe_act && b.RUT_EVALUADO == _evaluacion.RUT_EVALUADO);

                return(true);
            }
            catch (Exception ex)
            {
                Logger.log("No se pudo obtener información del usuario: " + ex.ToString());
                return(false);
            }
        }
 public string LeerPeriodoEvaluacion(string xml)
 {
     try
     {
         XML formato = new XML();
         PeriodoEvaluacion          periodoEva = formato.Deserializar <PeriodoEvaluacion>(xml);
         PeriodoEvaluacionOperacion periodoOp  = new PeriodoEvaluacionOperacion(periodoEva);
         if (periodoOp.Read())
         {
             return(formato.Serializar(periodoEva));
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         Logger.log("No se pudo Leer el Periodo de Evaluación: " + ex.ToString());
         return(null);
     }
 }
        public Evaluacion notaFinalUsuarioPorCom()
        {
            try
            {
                PeriodoEvaluacion          pe   = new PeriodoEvaluacion();
                PeriodoEvaluacionOperacion peOp = new PeriodoEvaluacionOperacion(pe);
                pe.ID_PERIODO_EVALUACION = peOp.periodoEvaluacionActivo();
                peOp.Read();

                DAL.WFBSEntities evaluacion = new DAL.WFBSEntities();
                DAL.EVALUACION   ev1        = evaluacion.EVALUACION.First(b => b.ID_TIPO_EVALUACION == 1 &&
                                                                          b.ID_PERIODO_EVALUACION == pe.ID_PERIODO_EVALUACION && b.RUT_EVALUADO == _evaluacion.RUT_EVALUADO &&
                                                                          b.ID_COMPETENCIA == _evaluacion.ID_COMPETENCIA);

                DAL.EVALUACION ev2 = evaluacion.EVALUACION.First(b => b.ID_TIPO_EVALUACION == 2 &&
                                                                 b.ID_PERIODO_EVALUACION == pe.ID_PERIODO_EVALUACION && b.RUT_EVALUADO == _evaluacion.RUT_EVALUADO &&
                                                                 b.ID_COMPETENCIA == _evaluacion.ID_COMPETENCIA);

                Evaluacion          ev   = new Evaluacion();
                EvaluacionOperacion evOp = new EvaluacionOperacion(ev);
                ev.ID_COMPETENCIA            = Convert.ToDecimal(ev1.ID_COMPETENCIA);
                ev.NOTA_ENCUESTA             = ev1.NOTA_ENCUESTA;
                ev.NOTA_ESPERADA_COMPETENCIA = Convert.ToDecimal(ev1.NOTA_ESPERADA_COMPETENCIA);
                ev.RUT_EVALUADO = ev1.RUT_EVALUADO;
                double porc_auto = (double)pe.PORCENTAJE_AUTOEVALUACION / 100;
                double porc_ev   = (double)pe.PORCENTAJE_AUTOEVALUACION / 100;
                ev.RUT_EVALUADOR = ((ev1.NOTA_ENCUESTA * (pe.PORCENTAJE_AUTOEVALUACION / 100)) + (ev2.NOTA_ENCUESTA * (pe.PORCENTAJE_EVALUACION / 100))).ToString();

                return(ev);
            }
            catch (Exception ex)
            {
                Logger.log("No se pudo obtener información de la evaluacion: " + ex.ToString());
                return(null);
            }
        }
Пример #19
0
        //---------------------------------------------------------//

        #region Periodo de evaluacion
        // Periodo de Evaluacion
        public bool CrearPeriodoEvaluacion(string xml)
        {
            PeriodoEvaluacion pe = new PeriodoEvaluacion(xml);

            return(pe.Create());
        }
Пример #20
0
        public bool ActualizarPeriodoEvaluacion(string xml)
        {
            PeriodoEvaluacion pe = new PeriodoEvaluacion(xml);

            return(pe.Update());
        }
Пример #21
0
        public bool EliminarPeriodoEvaluacion(string xml)
        {
            PeriodoEvaluacion pe = new PeriodoEvaluacion(xml);

            return(pe.Delete());
        }
Пример #22
0
        private void btnIngresar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                PeriodoEvaluacion pe = new PeriodoEvaluacion();
                if (DatePeriodo.SelectedDate.Value != null)
                {
                    if ((txtVigencia.Text.Length > 0 && txtVigencia.Text.Length <= 10) && txtVigencia.Text.Trim() != "")
                    {
                        pe.fechaInicio = DatePeriodo.DisplayDate;
                        pe.vigencia    = int.Parse(txtVigencia.Text);

                        #region porcentaje E
                        switch (cmbPorcentajeE.SelectedIndex + 1)
                        {
                        case 1:
                            pe.porcentajeE = 10;
                            break;

                        case 2:
                            pe.porcentajeE = 20;
                            break;

                        case 3:
                            pe.porcentajeE = 30;
                            break;

                        case 4:
                            pe.porcentajeE = 40;
                            break;

                        case 5:
                            pe.porcentajeE = 50;
                            break;

                        case 6:
                            pe.porcentajeE = 60;
                            break;

                        case 7:
                            pe.porcentajeE = 70;
                            break;

                        case 8:
                            pe.porcentajeE = 80;
                            break;

                        case 9:
                            pe.porcentajeE = 90;
                            break;

                        case 10:
                            pe.porcentajeE = 100;
                            break;


                        default:
                            pe.porcentajeE = 10;
                            break;
                        }
                        #endregion
                        #region Porcentaje AE
                        switch (cmbPorcentajeAE.SelectedIndex + 1)
                        {
                        case 1:
                            pe.porcentajeAE = 10;
                            break;

                        case 2:
                            pe.porcentajeAE = 20;
                            break;

                        case 3:
                            pe.porcentajeAE = 30;
                            break;

                        case 4:
                            pe.porcentajeAE = 40;
                            break;

                        case 5:
                            pe.porcentajeAE = 50;
                            break;

                        case 6:
                            pe.porcentajeAE = 60;
                            break;

                        case 7:
                            pe.porcentajeAE = 70;
                            break;

                        case 8:
                            pe.porcentajeAE = 80;
                            break;

                        case 9:
                            pe.porcentajeAE = 90;
                            break;

                        case 10:
                            pe.porcentajeAE = 100;
                            break;


                        default:
                            pe.porcentajeAE = 10;
                            break;
                        }
                        #endregion

                        if (pe.porcentajeAE + pe.porcentajeE != 100)
                        {
                            MessageBox.Show("La suma de los porcentajes debe ser igual a 100", "Aviso");
                        }
                        else
                        {
                            string xml = pe.Serializar();
                            WFBS.Presentation.ServiceWCF.ServiceWFBSClient servicio = new WFBS.Presentation.ServiceWCF.ServiceWFBSClient();

                            if (servicio.CrearPeriodoEvaluacion(xml))
                            {
                                MessageBox.Show("Agregado correctamente", "Éxito!");
                                NavigationService           navService = NavigationService.GetNavigationService(this);
                                MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                                navService.Navigate(nextPage);
                            }
                            else
                            {
                                MessageBox.Show("No se pudo agregar el Periodo de Evaluación, verifique que los datos sean correctos", "Aviso");
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("El campo Vigencia es obligatorio y admite solo valores numericos", "Aviso");
                    }
                }
                else
                {
                    MessageBox.Show("El campo Fecha de Inicio es obligatorio. Aviso");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("No se pudo agregar el Periodo de Evaluación!", "Alerta");
            }
        }
Пример #23
0
        private void btnModificar_Click(object sender, RoutedEventArgs e)
        {
            List <PeriodoEvaluacion> periodos = colPe.ReadAllPeriodos();

            try
            {
                PeriodoEvaluacion pe = new PeriodoEvaluacion();
                pe.idPeriodo = int.Parse(txtIdPerido.Text);
                if (pe.Read())
                {
                    if (DatePeriodo.SelectedDate.Value != null)
                    {
                        if ((txtVigencia.Text.Length > 0 && txtVigencia.Text.Length <= 10) && txtVigencia.Text.Trim() != "")
                        {
                            pe.fechaInicio = DatePeriodo.SelectedDate.Value;
                            pe.vigencia    = int.Parse(txtVigencia.Text);
                            #region porcentaje E
                            switch (cmbPorcentajeE.SelectedIndex + 1)
                            {
                            case 1:
                                pe.porcentajeE = 10;
                                break;

                            case 2:
                                pe.porcentajeE = 20;
                                break;

                            case 3:
                                pe.porcentajeE = 30;
                                break;

                            case 4:
                                pe.porcentajeE = 40;
                                break;

                            case 5:
                                pe.porcentajeE = 50;
                                break;

                            case 6:
                                pe.porcentajeE = 60;
                                break;

                            case 7:
                                pe.porcentajeE = 70;
                                break;

                            case 8:
                                pe.porcentajeE = 80;
                                break;

                            case 9:
                                pe.porcentajeE = 90;
                                break;

                            case 10:
                                pe.porcentajeE = 100;
                                break;


                            default:
                                pe.porcentajeE = 10;
                                break;
                            }
                            #endregion
                            #region Porcentaje AE
                            switch (cmbPorcentajeAE.SelectedIndex + 1)
                            {
                            case 1:
                                pe.porcentajeAE = 10;
                                break;

                            case 2:
                                pe.porcentajeAE = 20;
                                break;

                            case 3:
                                pe.porcentajeAE = 30;
                                break;

                            case 4:
                                pe.porcentajeAE = 40;
                                break;

                            case 5:
                                pe.porcentajeAE = 50;
                                break;

                            case 6:
                                pe.porcentajeAE = 60;
                                break;

                            case 7:
                                pe.porcentajeAE = 70;
                                break;

                            case 8:
                                pe.porcentajeAE = 80;
                                break;

                            case 9:
                                pe.porcentajeAE = 90;
                                break;

                            case 10:
                                pe.porcentajeAE = 100;
                                break;


                            default:
                                pe.porcentajeAE = 10;
                                break;
                            }
                            #endregion
                            if (pe.porcentajeE + pe.porcentajeAE != 100)
                            {
                                MessageBox.Show("La suma de los porcentajes no puede ser mayor a 100", "Aviso!");
                            }
                            else
                            {
                                string xml = pe.Serializar();
                                WFBS.Presentation.ServiceWCF.ServiceWFBSClient servicio = new WFBS.Presentation.ServiceWCF.ServiceWFBSClient();

                                if (servicio.ActualizarPeriodoEvaluacion(xml))
                                {
                                    MessageBox.Show("Actualizado correctamente", "Éxito!");
                                    NavigationService           navService = NavigationService.GetNavigationService(this);
                                    MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                                    navService.Navigate(nextPage);
                                }
                                else
                                {
                                    MessageBox.Show("No se pudo actualizar el Periodo de Evaluación, verifique que los datos sean correctos", "Aviso");
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("El campo Vigencia es obligatorio y admite solo valores numericos", "Aviso");
                        }
                    }
                    else
                    {
                        MessageBox.Show("El campo Fecha de Inicio es obligatorio", "Aviso");
                    }
                }
                else
                {
                    MessageBox.Show("Debe completar los campos antes de continuar", "Aviso");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("No se ha podido modificar el periodo. Verifique que la información esté correcta", "Error");
            }
        }
Пример #24
0
        private void btnModificar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                PeriodoEvaluacion pe = new PeriodoEvaluacion();
                pe.ID_PERIODO_EVALUACION = int.Parse(txtIdPerido.Text);
                PeriodoEvaluacionOperacion periodoEOp = new PeriodoEvaluacionOperacion(pe);

                XML    formato = new XML();
                string xml     = formato.Serializar(pe);
                WFBS.Presentation.ServiceWFBS.ServiceWFBSClient servicio = new WFBS.Presentation.ServiceWFBS.ServiceWFBSClient();

                if (servicio.LeerPeriodoEvaluacion(xml) != null)
                {
                    if (DatePeriodo.SelectedDate.Value != null)
                    {
                        if ((txtVigencia.Text.Length > 0 && txtVigencia.Text.Length <= 10) && txtVigencia.Text.Trim() != "")
                        {
                            pe.FECHA_INICIO = DatePeriodo.SelectedDate.Value;
                            pe.VIGENCIA     = int.Parse(txtVigencia.Text);
                            #region porcentaje E
                            switch (cmbPorcentajeE.SelectedIndex + 1)
                            {
                            case 1:
                                pe.PORCENTAJE_EVALUACION = 10;
                                break;

                            case 2:
                                pe.PORCENTAJE_EVALUACION = 20;
                                break;

                            case 3:
                                pe.PORCENTAJE_EVALUACION = 30;
                                break;

                            case 4:
                                pe.PORCENTAJE_EVALUACION = 40;
                                break;

                            case 5:
                                pe.PORCENTAJE_EVALUACION = 50;
                                break;

                            case 6:
                                pe.PORCENTAJE_EVALUACION = 60;
                                break;

                            case 7:
                                pe.PORCENTAJE_EVALUACION = 70;
                                break;

                            case 8:
                                pe.PORCENTAJE_EVALUACION = 80;
                                break;

                            case 9:
                                pe.PORCENTAJE_EVALUACION = 90;
                                break;

                            case 10:
                                pe.PORCENTAJE_EVALUACION = 100;
                                break;


                            default:
                                pe.PORCENTAJE_EVALUACION = 10;
                                break;
                            }
                            #endregion
                            #region Porcentaje AE
                            switch (cmbPorcentajeAE.SelectedIndex + 1)
                            {
                            case 1:
                                pe.PORCENTAJE_AUTOEVALUACION = 10;
                                break;

                            case 2:
                                pe.PORCENTAJE_AUTOEVALUACION = 20;
                                break;

                            case 3:
                                pe.PORCENTAJE_AUTOEVALUACION = 30;
                                break;

                            case 4:
                                pe.PORCENTAJE_AUTOEVALUACION = 40;
                                break;

                            case 5:
                                pe.PORCENTAJE_AUTOEVALUACION = 50;
                                break;

                            case 6:
                                pe.PORCENTAJE_AUTOEVALUACION = 60;
                                break;

                            case 7:
                                pe.PORCENTAJE_AUTOEVALUACION = 70;
                                break;

                            case 8:
                                pe.PORCENTAJE_AUTOEVALUACION = 80;
                                break;

                            case 9:
                                pe.PORCENTAJE_AUTOEVALUACION = 90;
                                break;

                            case 10:
                                pe.PORCENTAJE_AUTOEVALUACION = 100;
                                break;


                            default:
                                pe.PORCENTAJE_AUTOEVALUACION = 10;
                                break;
                            }
                            #endregion
                            if (pe.PORCENTAJE_EVALUACION + pe.PORCENTAJE_AUTOEVALUACION != 100)
                            {
                                MessageBox.Show("La suma de los porcentajes debe ser igual a 100", "Aviso!");
                            }
                            else
                            {
                                string xml2 = formato.Serializar(pe);
                                if (servicio.ActualizarPeriodoEvaluacion(xml2))
                                {
                                    MessageBox.Show("Actualizado correctamente", "Éxito!");
                                    NavigationService           navService = NavigationService.GetNavigationService(this);
                                    MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                                    navService.Navigate(nextPage);
                                }
                                else
                                {
                                    MessageBox.Show("No se pudo actualizar el Periodo de Evaluación, verifique que los datos sean correctos", "Aviso");
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("El campo Vigencia es obligatorio y admite como máximo 10 dígitos", "Aviso");
                        }
                    }
                    else
                    {
                        MessageBox.Show("El campo Fecha de Inicio es obligatorio", "Aviso");
                    }
                }
                else
                {
                    MessageBox.Show("Debe completar los campos antes de continuar", "Aviso");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("No se ha podido modificar el periodo. Verifique que la información esté correcta", "Error");
            }
        }
                                                               public async Task <IHttpActionResult> Update(PeriodoEvaluacion obj)
                                                               {
                                                                   try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                         await _repository.Update(obj);

                                                                         return(Ok("Período de evaluación actualizado correctamente!")); }
                                                                   catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                         return(InternalServerError(e)); }
                                                               }
        public async Task <Grafica> GetPromedioCompetencias(BusquedaNivel param)
        {
            try
            {
                Grafica valoresgrafica = new Grafica();


                List <String> fecha = new List <string>();

                valoresgrafica.Series    = new List <string>();
                valoresgrafica.Etiquetas = new List <string>();

                List <string> datobase = new List <string>();
                List <string> dato     = new List <string>();

                if (param.periodo == "" || param.periodo == null)
                {
                    param.periodo = "Todos";
                }

                if (param.idCategoria > 0)
                {
                    if (param.periodo != "Todos")
                    {
                        List <int> evaluaciones            = new List <int>(_db.evaluacionesConductuales.Where(x => x.Periodo == param.periodo && x.CategoriaCompetenciasId == param.idCategoria && x.claveArea == param.claveUnidad).Select(x => x.claveEvaluacion).ToList());
                        var        evaluacionesConsultadas = await(from f in _db.detalleConductuales
                                                                   where evaluaciones.Contains(f.claveEvaluacion)
                                                                   orderby f.MatrizId
                                                                   group f by new { f.MatrizId, f.matriz.competencia.Competencia, f.matriz.descnivel.nivel.Descripcion } into valores
                                                                   select new
                        {
                            valores.Key.Competencia,
                            valores.Key.Descripcion,
                            promedio = valores.Average(f => f.valorReal)
                        }).AsNoTracking().ToListAsync();


                        fecha.Add("Valor esperado");
                        fecha.Add(param.periodo);

                        valoresgrafica.Series.AddRange(fecha.ToList());

                        foreach (var items in evaluacionesConsultadas)
                        {
                            valoresgrafica.Etiquetas.Add(items.Competencia);
                            datobase.Add(items.Descripcion.ToString());
                            dato.Add(items.promedio.ToString());
                        }

                        valoresgrafica.Datos.Add(datobase);
                        valoresgrafica.Datos.Add(dato);
                    }
                    else
                    {
                        PeriodoEvaluacionRepository     p = new PeriodoEvaluacionRepository();
                        IEnumerable <PeriodoEvaluacion> periodosEvaluados = await p.GetAll();

                        PeriodoEvaluacion primerPeriodo = periodosEvaluados.FirstOrDefault();

                        foreach (var item in periodosEvaluados)
                        {
                            List <int> evaluaciones            = new List <int>(_db.evaluacionesConductuales.Where(x => x.Periodo == item.Periodo && x.CategoriaCompetenciasId == param.idCategoria && x.claveArea == param.claveUnidad).Select(x => x.claveEvaluacion).ToList());
                            var        evaluacionesConsultadas = await(from f in _db.detalleConductuales
                                                                       where evaluaciones.Contains(f.claveEvaluacion)
                                                                       orderby f.MatrizId
                                                                       group f by new { f.MatrizId, f.matriz.competencia.Competencia, f.matriz.descnivel.nivel.Descripcion } into valores

                                                                       select new
                            {
                                valores.Key.Competencia,
                                valores.Key.Descripcion,
                                promedio = valores.Average(f => f.valorReal)
                            }).AsNoTracking().ToListAsync();



                            if (item.Periodo == primerPeriodo.Periodo)
                            {
                                foreach (var items in evaluacionesConsultadas)
                                {
                                    valoresgrafica.Etiquetas.Add(items.Competencia);
                                    datobase.Add(items.Descripcion.ToString());
                                }
                                valoresgrafica.Datos.Add(datobase);
                                fecha.Add("Valor esperado");
                            }


                            fecha.Add(item.Periodo);
                            dato = new List <string>();
                            foreach (var items in evaluacionesConsultadas)
                            {
                                dato.Add(items.promedio.ToString());
                            }

                            valoresgrafica.Datos.Add(dato);
                            dato = null;
                        }

                        valoresgrafica.Series.AddRange(fecha.ToList());
                    }
                }

                return(valoresgrafica);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Пример #27
0
        private void btnModificar_Click(object sender, RoutedEventArgs e)
        {
            List <PeriodoEvaluacion> periodos = col.ReadAllPeriodos();

            try
            {
                PeriodoEvaluacion per = new PeriodoEvaluacion();
                per.idPeriodo = int.Parse(txtIdPerido.Text);
                if (per.Read())
                {
                    if (DatePeriodo.SelectedDate == null && txtVigencia.Text.Length > 0)
                    {
                        per.vigencia = int.Parse(txtVigencia.Text);
                        #region porcentaje E
                        switch (cmbPorcentajeE.SelectedIndex + 1)
                        {
                        case 1:
                            per.porcentajeE = 10;
                            break;

                        case 2:
                            per.porcentajeE = 20;
                            break;

                        case 3:
                            per.porcentajeE = 30;
                            break;

                        case 4:
                            per.porcentajeE = 40;
                            break;

                        case 5:
                            per.porcentajeE = 50;
                            break;

                        case 6:
                            per.porcentajeE = 60;
                            break;

                        case 7:
                            per.porcentajeE = 70;
                            break;

                        case 8:
                            per.porcentajeE = 80;
                            break;

                        case 9:
                            per.porcentajeE = 90;
                            break;

                        case 10:
                            per.porcentajeE = 100;
                            break;


                        default:
                            per.porcentajeE = 10;
                            break;
                        }
                        #endregion
                        #region Porcentaje AE
                        switch (cmbPorcentajeAE.SelectedIndex + 1)
                        {
                        case 1:
                            per.porcentajeAE = 10;
                            break;

                        case 2:
                            per.porcentajeAE = 20;
                            break;

                        case 3:
                            per.porcentajeAE = 30;
                            break;

                        case 4:
                            per.porcentajeAE = 40;
                            break;

                        case 5:
                            per.porcentajeAE = 50;
                            break;

                        case 6:
                            per.porcentajeAE = 60;
                            break;

                        case 7:
                            per.porcentajeAE = 70;
                            break;

                        case 8:
                            per.porcentajeAE = 80;
                            break;

                        case 9:
                            per.porcentajeAE = 90;
                            break;

                        case 10:
                            per.porcentajeAE = 100;
                            break;


                        default:
                            per.porcentajeAE = 10;
                            break;
                        }
                        #endregion


                        per.Update();
                        MessageBox.Show("Actualizado correctamente. Éxito!");
                        NavigationService           navService = NavigationService.GetNavigationService(this);
                        MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                        navService.Navigate(nextPage);
                    }
                }
                else
                {
                    MessageBox.Show("Debe completar los campos antes de continuar. Aviso");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("No se ha podido modificar el periodo. Verifique que la información esté correcta", "Error");
            }
        }
Пример #28
0
        private void btnIngresar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                PeriodoEvaluacion per = new PeriodoEvaluacion();

                per.fechaInicio = DatePeriodo.DisplayDate;
                per.vigencia    = int.Parse(txtAbreviacion.Text);
                #region porcentaje E
                switch (cmbPorcentajeE.SelectedIndex + 1)
                {
                case 1:
                    per.porcentajeE = 10;
                    break;

                case 2:
                    per.porcentajeE = 20;
                    break;

                case 3:
                    per.porcentajeE = 30;
                    break;

                case 4:
                    per.porcentajeE = 40;
                    break;

                case 5:
                    per.porcentajeE = 50;
                    break;

                case 6:
                    per.porcentajeE = 60;
                    break;

                case 7:
                    per.porcentajeE = 70;
                    break;

                case 8:
                    per.porcentajeE = 80;
                    break;

                case 9:
                    per.porcentajeE = 90;
                    break;

                case 10:
                    per.porcentajeE = 100;
                    break;


                default:
                    per.porcentajeE = 10;
                    break;
                }
                #endregion
                #region Porcentaje AE
                switch (cmbPorcentajeAE.SelectedIndex + 1)
                {
                case 1:
                    per.porcentajeAE = 10;
                    break;

                case 2:
                    per.porcentajeAE = 20;
                    break;

                case 3:
                    per.porcentajeAE = 30;
                    break;

                case 4:
                    per.porcentajeAE = 40;
                    break;

                case 5:
                    per.porcentajeAE = 50;
                    break;

                case 6:
                    per.porcentajeAE = 60;
                    break;

                case 7:
                    per.porcentajeAE = 70;
                    break;

                case 8:
                    per.porcentajeAE = 80;
                    break;

                case 9:
                    per.porcentajeAE = 90;
                    break;

                case 10:
                    per.porcentajeAE = 100;
                    break;


                default:
                    per.porcentajeAE = 10;
                    break;
                }
                #endregion

                if (per.Create())
                {
                    MessageBox.Show("Agregado correctamente. Éxito!");
                    NavigationService           navService = NavigationService.GetNavigationService(this);
                    MantenedorPeriodoEvaluacion nextPage   = new MantenedorPeriodoEvaluacion();
                    navService.Navigate(nextPage);
                }
                else
                {
                    MessageBox.Show("No se ha podido agregar el periodo de evaluación verifique que los datos sean correctos");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Error, no se pudo agregar el periodo de evaluación!");
            }
        }