/// <summary> /// Muestra la ventada efficiency detail dependiendo de los permisos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [Emoguel] created 24/03/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { GuestStatusType guestStaTyp = (GuestStatusType)dgrGuestStaTyp.SelectedItem; frmGuestStatusTypeDetail frmGuesStaDet = new frmGuestStatusTypeDetail(); frmGuesStaDet.guestStaTypOld = guestStaTyp; frmGuesStaDet.Owner = this; frmGuesStaDet.enumMode = ((_blnEdit == true) ? EnumMode.Edit : EnumMode.ReadOnly); if (frmGuesStaDet.ShowDialog() == true) { int nIndex = 0; List <GuestStatusType> lstGuestStaTyp = (List <GuestStatusType>)dgrGuestStaTyp.ItemsSource; if (!ValidateFilter(frmGuesStaDet.guestStaTyp)) //Validamos si cumple con los filtros { lstGuestStaTyp.Remove(guestStaTyp); //Quitamos el registro de la lista StatusBarReg.Content = lstGuestStaTyp.Count + " Guest Status Types."; } else { ObjectHelper.CopyProperties(guestStaTyp, frmGuesStaDet.guestStaTyp); //Actualizamos el valor del registro lstGuestStaTyp.Sort((x, y) => string.Compare(x.gsN, y.gsN)); //Ordenamos la lista nIndex = lstGuestStaTyp.IndexOf(guestStaTyp); //Obtenemos la posicion del registro actualizado para seleccionarlo } dgrGuestStaTyp.Items.Refresh(); //Refrescamos la vista GridHelper.SelectRow(dgrGuestStaTyp, nIndex); //Seleccionamos un registro } }
/// <summary> /// Abre la ventana detalle en modo add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 28/03/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmGuestStatusTypeDetail frmGuesStaDet = new frmGuestStatusTypeDetail(); frmGuesStaDet.Owner = this; frmGuesStaDet.enumMode = EnumMode.Add; if (frmGuesStaDet.ShowDialog() == true) { if (ValidateFilter(frmGuesStaDet.guestStaTyp))//Verificamos que cumpla con los filtros { GuestStatusType guestStaTyp = frmGuesStaDet.guestStaTyp; List <GuestStatusType> lstGuestStaTyp = (List <GuestStatusType>)dgrGuestStaTyp.ItemsSource; lstGuestStaTyp.Add(guestStaTyp); //Agregamos el nuevo registro lstGuestStaTyp.Sort((x, y) => string.Compare(x.gsN, y.gsN)); //Ordenamos la lista int nIndex = lstGuestStaTyp.IndexOf(guestStaTyp); //Buscamos la posición StatusBarReg.Content = lstGuestStaTyp.Count + " Guest Status Types."; //Actualizamos el contador dgrGuestStaTyp.Items.Refresh(); GridHelper.SelectRow(dgrGuestStaTyp, nIndex); } } }