/// <summary> /// Muestra la ventana detalle en modo edit /// </summary> /// <history> /// [emoguel] 21/04/2016 Created /// </history> private void Cell_DoubleClick(object sender, RoutedEventArgs e) { SalesRoom salesRoom = (SalesRoom)dgrSalesRooms.SelectedValue; frmSalesRoomDetail frmSalesRoomDetail = new frmSalesRoomDetail(); frmSalesRoomDetail.Owner = this; frmSalesRoomDetail.enumMode = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly; frmSalesRoomDetail.oldSalesRoom = salesRoom; if (frmSalesRoomDetail.ShowDialog() == true) { List <SalesRoom> lstSalesRoom = (List <SalesRoom>)dgrSalesRooms.ItemsSource; int nIndex = 0; if (ValidateFilter(frmSalesRoomDetail.salesRoom)) //Validamos si tiene filtro { ObjectHelper.CopyProperties(salesRoom, frmSalesRoomDetail.salesRoom); //Actualizamos los datos del registro lstSalesRoom.Sort((x, y) => string.Compare(x.srN, y.srN)); //Ordenamos la lista nIndex = lstSalesRoom.IndexOf(salesRoom); //Obtenemos la posición del registro } else { lstSalesRoom.Remove(salesRoom); //Quitamos el registro } dgrSalesRooms.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrSalesRooms, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstSalesRoom.Count + " Sales Rooms."; //Actualizamos el contador } }
/// <summary> /// Abre la ventana detalle en modo Busqueda /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 21/04/2016 /// </history> private void btnSearch_Click(object sender, RoutedEventArgs e) { frmSalesRoomDetail frmSalesRoomDetail = new frmSalesRoomDetail(); frmSalesRoomDetail.Owner = this; frmSalesRoomDetail.oldSalesRoom = _salesRoomFilter; frmSalesRoomDetail.nStatus = _nStatus; frmSalesRoomDetail.nAppointment = _nAppointment; frmSalesRoomDetail.enumMode = EnumMode.Search; if (frmSalesRoomDetail.ShowDialog() == true) { _salesRoomFilter = frmSalesRoomDetail.salesRoom; _nStatus = frmSalesRoomDetail.nStatus; _nAppointment = frmSalesRoomDetail.nAppointment; LoadSalesRooms(); } }
/// <summary> /// Abre la ventana detalle en modo Add /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 21/04/2016 /// </history> private void btnAdd_Click(object sender, RoutedEventArgs e) { frmSalesRoomDetail frmSalesRoomDetail = new frmSalesRoomDetail(); frmSalesRoomDetail.Owner = this; frmSalesRoomDetail.enumMode = EnumMode.Add; if (frmSalesRoomDetail.ShowDialog() == true) { SalesRoom salesRoom = frmSalesRoomDetail.salesRoom; if (ValidateFilter(salesRoom))//Validamos si cumple con los filtros { List <SalesRoom> lstSalesRooms = (List <SalesRoom>)dgrSalesRooms.ItemsSource; lstSalesRooms.Add(salesRoom); //Agregamos el registro int nIndex = lstSalesRooms.IndexOf(salesRoom); //Buscamos la posición del registro dgrSalesRooms.Items.Refresh(); //Actualizamos la vista GridHelper.SelectRow(dgrSalesRooms, nIndex); //Seleccionamos el registro StatusBarReg.Content = lstSalesRooms.Count + " Sales Room"; //Actualizamos el contador } } }