Exemplo n.º 1
0
        /// <summary>
        /// metodo que obtiene el porcentaje de asistencia para la actividad
        /// </summary>
        /// <param name="item">objeto grupo</param>
        /// <param name="idGrupo">id grupo seleccionado</param>
        /// <param name="SelectedParticipante">imputado seleccionado</param>
        /// <returns>porcentaje de asistencia</returns>
        private string ObtenerAsistencia(object item, short idGrupo, MaestroEmpalme SelectedParticipante)
        {
            try
            {
                var TotalHoras      = 0.0;
                var AsistenciaHoras = 0.0;
                if (item is GRUPO)
                {
                    TotalHoras = ((GRUPO)item).GRUPO_HORARIO.Where(w => w.ID_GRUPO == idGrupo && w.ESTATUS == 1).Count();
                }
                else
                {
                    TotalHoras = Convert.ToDouble(item);
                }
                AsistenciaHoras = SelectedParticipante.Entity.GRUPO_PARTICIPANTE.Where(w => w.ID_GRUPO == idGrupo).FirstOrDefault().GRUPO_ASISTENCIA.Where(w => w.GRUPO_HORARIO.ESTATUS == 1 && (w.ESTATUS == 1 || w.ESTATUS == 3) && SelectedParticipante.Entity.GRUPO_PARTICIPANTE.Where(wh => wh.GRUPO != null && wh.GRUPO.GRUPO_HORARIO.Where(whe => whe.ESTATUS == 1).Any()).Contains(w.GRUPO_PARTICIPANTE) && w.ASISTENCIA == 1).Count();

                if (double.IsNaN((AsistenciaHoras / TotalHoras)))
                {
                    return(string.Empty);
                }

                return(string.Format("{0:P2}", (AsistenciaHoras / TotalHoras)));
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar la asistencia del participante.", ex);
                return(string.Empty);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// metodo que obtiene las horas asignadas a la actividad
 /// </summary>
 /// <param name="item">grupo</param>
 /// <param name="SelectedParticipante">imputado seleccionado</param>
 /// <returns>cantidad de horas asignadas</returns>
 private string ObtenerHorasAsignadas(GRUPO item, MaestroEmpalme SelectedParticipante)
 {
     try
     {
         return(SelectedParticipante.Entity.GRUPO_PARTICIPANTE.Where(w => w.ID_GRUPO == item.ID_GRUPO).FirstOrDefault().GRUPO_ASISTENCIA.Where(w => w.EMPALME == 0 && w.ESTATUS == 1).Count().ToString());
     }
     catch (Exception ex)
     {
         StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al calcular horas asignadas del participante.", ex);
         return(string.Empty);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// metodo que obtiene el calculo en porcentaje para el porcentaje de empalmes
        /// </summary>
        /// <param name="SelectedParticipante">imputado seleccionado</param>
        private void ObtenerEmpalmes(MaestroEmpalme SelectedParticipante)
        {
            try
            {
                var TotalHoras      = 0.0;
                var AsistenciaHoras = 0.0;
                foreach (var item3 in SelectedParticipante.PorHora.GroupBy(g => g.Entity.GRUPO_PARTICIPANTE.GRUPO).Select(s => s.Key).OrderBy(o => o.ACTIVIDAD.PRIORIDAD).ToList())
                {
                    TotalHoras      = SelectedParticipante.Entity.GRUPO_PARTICIPANTE.Where(w => w.ID_GRUPO == item3.ID_GRUPO).FirstOrDefault().GRUPO_ASISTENCIA.Where(w => w.ESTATUS == 1).Count();
                    AsistenciaHoras = SelectedParticipante.Entity.GRUPO_PARTICIPANTE.Where(w => w.ID_GRUPO == item3.ID_GRUPO).FirstOrDefault().GRUPO_ASISTENCIA.Where(w => w.ESTATUS == 1).Count() - Convert.ToDouble((Convert.ToInt32(DynamicGrid.Children.Cast <UIElement>().Where(w => w is TextBox).Cast <TextBox>().Where(w => w.Name.Equals("TB_" + item3.ID_GRUPO + "_3")).FirstOrDefault().Text)));

                    if (double.IsNaN((AsistenciaHoras / TotalHoras)))
                    {
                        DynamicGrid.Children.Cast <UIElement>().Where(w => w is TextBox).Cast <TextBox>().Where(w => w.Name.Equals("TB_" + item3.ID_GRUPO + "_4")).FirstOrDefault().Text = string.Empty;
                        continue;
                    }
                    DynamicGrid.Children.Cast <UIElement>().Where(w => w is TextBox).Cast <TextBox>().Where(w => w.Name.Equals("TB_" + item3.ID_GRUPO + "_4")).FirstOrDefault().Text = String.Format("{0:P2}", (AsistenciaHoras / TotalHoras));
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al calcular el porcentaje de horas empalmadas del participante.", ex);
            }
        }