/// <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> /// [emoguel] created 18/05/2016 /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { Market market = (Market)dgrMarkets.SelectedItem; frmMarketDetail frmMarketDetail = new frmMarketDetail(); frmMarketDetail.Owner = this; frmMarketDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmMarketDetail.oldMarket = market; if (frmMarketDetail.ShowDialog() == true) { int nIndex = 0; List <Market> lstmarkets = (List <Market>)dgrMarkets.ItemsSource; if (ValidateFilter(frmMarketDetail.market)) //Validamos si cumple con los filtros { ObjectHelper.CopyProperties(market, frmMarketDetail.market); //Actualizamos el objeto lstmarkets.Sort((x, y) => string.Compare(x.mkN, y.mkN)); //Ordenamos la lista nIndex = lstmarkets.IndexOf(market); //Obtenemos la posición del registro } else { lstmarkets.Remove(market); //QUitamos el registro } dgrMarkets.Items.Refresh(); //Actualizamos la vista StatusBarReg.Content = lstmarkets.Count + " Markets."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 18/05/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmMarketDetail frmMarketDetail = new frmMarketDetail(); frmMarketDetail.Owner = this; frmMarketDetail.enumMode = EnumMode.Add; if (frmMarketDetail.ShowDialog() == true) { if (ValidateFilter(frmMarketDetail.market))//Validamos que cumpla con los filtros { List <Market> lstmarkets = (List <Market>)dgrMarkets.ItemsSource; lstmarkets.Add(frmMarketDetail.market); //Agregamos el registro lstmarkets.Sort((x, y) => string.Compare(x.mkN, y.mkN)); //Ordenamos la lista int nIndex = lstmarkets.IndexOf(frmMarketDetail.market); //obtenemos la posicion del registro dgrMarkets.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrMarkets, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstmarkets.Count + " Markets."; //Actualizamos el contador } } }