/// <summary> /// Actualiza la categoría del asociado que se basa en las asambleas /// </summary> /// <param name="pAsociado"></param> /// <param name="pEstado"></param> private void ActualizarCategoriaAsociacion(int pAsociado, int pEstado) { DataClasses1DataContext dc = new DataClasses1DataContext(); int calificacion = 1; SIGEEA_Asociado asociado = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == pAsociado); /*List<SIGEEA_spObtenerInfoCategoriaAsocAsambleasResult> listaCantidad = dc.SIGEEA_spObtenerInfoCategoriaAsocAsambleas(pAsociado).ToList(); int cantidad = listaCantidad.Count();*/ int cantidad = (int)dc.SIGEEA_spObtenerInfoCategoriaAsocAsambleas(pAsociado).First().Cantidad; double calificacionActual = dc.SIGEEA_CatAsociados.First(c => c.PK_Id_CatAsociado == asociado.FK_Id_CatAsociado).AsambleasProm_CatAsociado; if (pEstado == 3) calificacion = 1; //Ausencia injustificada else if (pEstado == 2) calificacion = 3; //Ausencia justificada else if (pEstado == 1) calificacion = 5; //Asistió double calificacionNuevaTotal = ((cantidad) * calificacionActual) + calificacion; double calificacionNuevaFinal = calificacionNuevaTotal / (cantidad + 1); dc.SIGEEA_spActualizaCategoriaAsambleas(asociado.FK_Id_CatAsociado, calificacionNuevaFinal); dc.SubmitChanges(); }