コード例 #1
0
        /// <summary>
        /// Muestra la ventada detalle
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 05/04/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            PaymentPlace          paymentPlace          = (PaymentPlace)dgrPaymentPlace.SelectedItem;
            frmPaymentPlaceDetail frmPaymentPlaceDetail = new frmPaymentPlaceDetail();

            frmPaymentPlaceDetail.Owner           = this;
            frmPaymentPlaceDetail.enumMode        = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly;
            frmPaymentPlaceDetail.oldPaymentPlace = paymentPlace;
            if (frmPaymentPlaceDetail.ShowDialog() == true)
            {
                int nIndex = 0;
                List <PaymentPlace> lstPaymentPlaces = (List <PaymentPlace>)dgrPaymentPlace.ItemsSource;
                if (!ValidateFIlter(frmPaymentPlaceDetail.paymentPlace)) //Validamos que cumpla con los filtros
                {
                    lstPaymentPlaces.Remove(paymentPlace);               //removemos de la lista
                }
                else
                {
                    ObjectHelper.CopyProperties(paymentPlace, frmPaymentPlaceDetail.paymentPlace); //Actualizamos los datos del registro
                    lstPaymentPlaces.Sort((x, y) => string.Compare(x.pcN, y.pcN));                 //Ordenamos la lista
                    nIndex = lstPaymentPlaces.IndexOf(paymentPlace);                               //Obtenemos la posicion del registro
                }
                dgrPaymentPlace.Items.Refresh();
                GridHelper.SelectRow(dgrPaymentPlace, nIndex);
                StatusBarReg.Content = lstPaymentPlaces.Count + " Payment Places.";
            }
        }
コード例 #2
0
        /// <summary>
        /// Verifica que un objeto Payment Place cumpla con los filtros actuales
        /// </summary>
        /// <param name="paymentPlace">Objeto a validar</param>
        /// <returns>True. SI cumple | False. No cumple</returns>
        /// <history>
        /// [emoguel] created 06/04/2016
        /// </history>
        private bool ValidateFIlter(PaymentPlace paymentPlace)
        {
            if (_nStatus != -1)//filtro por estatus
            {
                if (paymentPlace.pcA != Convert.ToBoolean(_nStatus))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_paymentPlaceFilter.pcID))//Filtro por ID
            {
                if (paymentPlace.pcID != _paymentPlaceFilter.pcID)
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_paymentPlaceFilter.pcN))//Filtro por descripción
            {
                if (!paymentPlace.pcN.Contains(_paymentPlaceFilter.pcN, StringComparison.OrdinalIgnoreCase))
                {
                    return(false);
                }
            }
            return(true);
        }
コード例 #3
0
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 06/05/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmPaymentPlaceDetail frmPaymentPlaceDetail = new frmPaymentPlaceDetail();

            frmPaymentPlaceDetail.Owner    = this;
            frmPaymentPlaceDetail.enumMode = EnumMode.Add;
            if (frmPaymentPlaceDetail.ShowDialog() == true)
            {
                PaymentPlace paymentPlace = frmPaymentPlaceDetail.paymentPlace;
                if (ValidateFIlter(paymentPlace))//Validamos si cumple con el filtro
                {
                    List <PaymentPlace> lstPaymentPlaces = (List <PaymentPlace>)dgrPaymentPlace.ItemsSource;
                    lstPaymentPlaces.Add(paymentPlace);                            //Agregamos el registro
                    lstPaymentPlaces.Sort((x, y) => string.Compare(x.pcN, y.pcN)); //Ordenamos la lista
                    int nIndex = lstPaymentPlaces.IndexOf(paymentPlace);           //Obtenemos el index
                    dgrPaymentPlace.Items.Refresh();                               //Actualizamos la vista
                    GridHelper.SelectRow(dgrPaymentPlace, nIndex);                 //Seleccionamos el registro
                    StatusBarReg.Content = lstPaymentPlaces.Count + " Payment Places.";
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Llena el grid de Payment Places
        /// </summary>
        /// <param name="paymentPlace">Objeto a seleccionar</param>
        /// <history>
        /// [emoguel] created 06/04/2016
        /// [erosado] 19/05/2016  Modified. Se agregó asincronía
        /// </history>
        private async void LoadPaymentPlaces(PaymentPlace paymentPlace = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int nIndex = 0;
                List <PaymentPlace> lstPaymentPlace = await BRPaymentPlaces.GetPaymentPlaces(_nStatus, _paymentPlaceFilter);

                dgrPaymentPlace.ItemsSource = lstPaymentPlace;
                if (lstPaymentPlace.Count > 0 && paymentPlace != null)
                {
                    paymentPlace = lstPaymentPlace.Where(pc => pc.pcID == paymentPlace.pcID).FirstOrDefault();
                    nIndex       = lstPaymentPlace.IndexOf(paymentPlace);
                }
                GridHelper.SelectRow(dgrPaymentPlace, nIndex);
                StatusBarReg.Content = lstPaymentPlace.Count + " Payment Places.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
コード例 #5
0
        /// <summary>
        /// Actualiza el grid de payment Places
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 06/04/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            PaymentPlace paymentPlace = (PaymentPlace)dgrPaymentPlace.SelectedItem;

            LoadPaymentPlaces(paymentPlace);
        }
コード例 #6
0
ファイル: BRPaymentPlaces.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Obtiene registros del catalogo PaymentPlaces
        /// </summary>
        /// <param name="nStatus">-1. Todos | 0. Inactivos | 1. Activos</param>
        /// <param name="paymentPlaces">Objeto con filtros adicionales</param>
        /// <returns>Lista de tipo Payment Place</returns>
        /// <history>
        /// [emoguel] created 05/04/2016
        /// [erosado] 19/05/2016  Modified. Se agregó asincronía
        /// [aalcocer] 02/08/2016 Modified. Se modifica la asincronía con Task
        /// [erosado] 04/08/2016 Modified. Se estandarizó el valor que retorna.
        /// </history>
        public static async Task <List <PaymentPlace> > GetPaymentPlaces(int nStatus = -1, PaymentPlace paymentPlaces = null)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from pc in dbContext.PaymentPlaces
                                select pc;

                    if (nStatus != -1)//Filtro por estatus
                    {
                        bool blnStatus = Convert.ToBoolean(nStatus);
                        query = query.Where(pc => pc.pcA == blnStatus);
                    }
                    if (paymentPlaces != null)                              //verificamos que se tenga el objeto
                    {
                        if (!string.IsNullOrWhiteSpace(paymentPlaces.pcID)) //Filtro por ID
                        {
                            query = query.Where(pc => pc.pcID == paymentPlaces.pcID);
                        }

                        if (!string.IsNullOrWhiteSpace(paymentPlaces.pcN))//Filtro por Descripción
                        {
                            query = query.Where(pc => pc.pcN.Contains(paymentPlaces.pcN));
                        }
                    }
                    return query.OrderBy(pc => pc.pcN).ToList();
                }
            }));
        }