/// <summary> /// Abre la ventana detalle en modo "detalle" o "edición" dependiendo de sus permisos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [vku] 22/Jul/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { TeamSalesmen teamSalesmen = (TeamSalesmen)dgrTeams.SelectedItem; frmTeamSalesmenDetail frmTeamSalesmenDetail = new frmTeamSalesmenDetail(); frmTeamSalesmenDetail.Owner = this; frmTeamSalesmenDetail.oldTeam = teamSalesmen; frmTeamSalesmenDetail.enumMode = EnumMode.Edit; if (frmTeamSalesmenDetail.ShowDialog() == true) { int nIndex = 0; List <TeamSalesmen> lstTeams = (List <TeamSalesmen>)dgrTeams.ItemsSource; if (ValidateFilter(frmTeamSalesmenDetail.team)) //Valida si cumple con los filtros { ObjectHelper.CopyProperties(teamSalesmen, frmTeamSalesmenDetail.team); //Actualiza los datos lstTeams.Sort((x, y) => string.Compare(x.tsN, y.tsN)); //Ordena la lista nIndex = lstTeams.IndexOf(teamSalesmen); //busca la posición del registro } else { lstTeams.Remove(teamSalesmen); //Quita el registro } dgrTeams.Items.Refresh(); //Actualiza la vista GridHelper.SelectRow(dgrTeams, nIndex); //Selecciona el registro StatusBarReg.Content = lstTeams.Count + " Teams."; //Actualiza el contador } }
/// <summary> /// Abre la ventana detalle en modo agregar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [vku] 22/Jul/2016 Created /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmTeamSalesmenDetail frmTeamSalesmenDetail = new frmTeamSalesmenDetail(); frmTeamSalesmenDetail.Owner = this; frmTeamSalesmenDetail.enumMode = EnumMode.Add; if (frmTeamSalesmenDetail.ShowDialog() == true) { if (ValidateFilter(frmTeamSalesmenDetail.team))//Valida que cumpla con los filtros actuales { List <TeamSalesmen> lstTeams = (List <TeamSalesmen>)dgrTeams.ItemsSource; lstTeams.Add(frmTeamSalesmenDetail.team); //Agrega el registro lstTeams.Sort((x, y) => string.Compare(x.tsN, y.tsN)); //ordena la lista int nIndex = lstTeams.IndexOf(frmTeamSalesmenDetail.team); //BUsca la posición del registro dgrTeams.Items.Refresh(); //Refresca la vista GridHelper.SelectRow(dgrTeams, nIndex); //Selecciona el registro StatusBarReg.Content = lstTeams.Count + " Teams."; //Actualiza el contador } } }