/// <summary> /// Llena el grid de Teams Log /// </summary> /// <param name="teamLog">Objeto a selecionar</param> /// <history> /// [emoguel] created 26/04/2016 /// </history> private async void LoadTeamsLog(TeamLog teamLog = null) { try { status.Visibility = Visibility.Visible; int nIndex = 0; var teams = await BRTeamsLog.GetTeamsLog(_teamLogFilter, _blnDate); List <object> lstTeamsLog = teams.ToList(); dgrTeamsLog.ItemsSource = lstTeamsLog; if (lstTeamsLog.Count() > 0) { if (teamLog != null) { dynamic dTeamLog = lstTeamsLog.Where(item => Convert.ToUInt32(item.GetType().GetProperty("tlID").GetValue(item, null)) == teamLog.tlID).FirstOrDefault(); nIndex = lstTeamsLog.IndexOf(dTeamLog); } GridHelper.SelectRow(dgrTeamsLog, nIndex); btnDel.IsEnabled = _blnDel; } else { btnDel.IsEnabled = false; } StatusBarReg.Content = lstTeamsLog.Count() + " Teams Log."; status.Visibility = Visibility.Collapsed; } catch (Exception ex) { UIHelper.ShowMessage(ex); } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 27/04/2016 /// </history> private async void btnAdd_Click(object sender, RoutedEventArgs e) { frmTeamLogDetail frmTeamLogDetail = new frmTeamLogDetail(); frmTeamLogDetail.Owner = this; frmTeamLogDetail.enumMode = EnumMode.Add; if (frmTeamLogDetail.ShowDialog() == true) { TeamLog teamLog = frmTeamLogDetail.teamLog; if (ValidateFilter(teamLog))//Validamos que cumpla con los filtros actuales { var team = await BRTeamsLog.GetTeamsLog(teamLog); object dTeamLog = team.FirstOrDefault(); //Obtenemos el registro nuevo List <object> lstTeamsLog = (List <object>)dgrTeamsLog.ItemsSource; lstTeamsLog.Add(dTeamLog); //Agregamos el registro lstTeamsLog.Sort((x, y) => DateTime.Compare(Convert.ToDateTime(y.GetType().GetProperty("tlDT").GetValue(y, null)), Convert.ToDateTime(x.GetType().GetProperty("tlDT").GetValue(x, null)))); //Reordenamos la lista int nIndex = lstTeamsLog.IndexOf(dTeamLog); //Obtenemos la posición del registro dgrTeamsLog.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrTeamsLog, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstTeamsLog.Count + " Teams Log."; //Actualizamos el contador } } }