Exemplo n.º 1
0
        /// <summary>
        /// Valida si un scoreRuleType cumple con los filtros actuales
        /// </summary>
        /// <param name="scoreRuleType">Objeto a validar</param>
        /// <returns>True. Si cumple | False. No cumple</returns>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private bool ValidateFilter(ScoreRuleType scoreRuleType)
        {
            if (_nStatus != -1)//Filtro por estatus
            {
                if (scoreRuleType.syA != Convert.ToBoolean(_nStatus))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_scoreRuleTypeFilter.syID))//Filtro por ID
            {
                if (_scoreRuleTypeFilter.syID != scoreRuleType.syID)
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(_scoreRuleTypeFilter.syN))//Filtro por descripcion
            {
                if (!scoreRuleType.syN.Contains(_scoreRuleTypeFilter.syN, StringComparison.OrdinalIgnoreCase))
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Muestra la ventana detalle en modo edit
        /// </summary>
        /// <history>
        /// [emoguel] 23/04/2016 Created
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            ScoreRuleType          scoreRuleType          = (ScoreRuleType)dgrScoreRulesTypes.SelectedItem;
            frmScoreRuleTypeDetail frmScoreRuleTypeDetail = new frmScoreRuleTypeDetail();

            frmScoreRuleTypeDetail.Owner            = this;
            frmScoreRuleTypeDetail.enumMode         = EnumMode.Edit;
            frmScoreRuleTypeDetail.oldScoreRuleType = scoreRuleType;
            if (frmScoreRuleTypeDetail.ShowDialog() == true)
            {
                List <ScoreRuleType> lstScoreRulesTypes = (List <ScoreRuleType>)dgrScoreRulesTypes.ItemsSource;
                int nIndex = 0;
                if (ValidateFilter(frmScoreRuleTypeDetail.scoreRuleType))                             //Validamos si cumple con los filtros actuales
                {
                    ObjectHelper.CopyProperties(scoreRuleType, frmScoreRuleTypeDetail.scoreRuleType); //Actualizamos los datos del registro
                    lstScoreRulesTypes.Sort((x, y) => string.Compare(x.syN, y.syN));                  //Ordenamos la lista
                    nIndex = lstScoreRulesTypes.IndexOf(scoreRuleType);                               //Obtenemos la posicion del registro
                }
                else
                {
                    lstScoreRulesTypes.Remove(scoreRuleType);                            //Quitamos el registro del grid
                }
                dgrScoreRulesTypes.Items.Refresh();                                      //Actualizamos la vista
                GridHelper.SelectRow(dgrScoreRulesTypes, nIndex);                        //Seleccionamos el registro
                StatusBarReg.Content = lstScoreRulesTypes.Count + " Score Rules Types."; //Actualizamos el contador
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Abre la ventana detalle en Modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 23/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmScoreRuleTypeDetail frmScoreRuleTypeDetail = new frmScoreRuleTypeDetail();

            frmScoreRuleTypeDetail.Owner    = this;
            frmScoreRuleTypeDetail.enumMode = EnumMode.Add;
            if (frmScoreRuleTypeDetail.ShowDialog() == true)
            {
                ScoreRuleType scoreRuleType = frmScoreRuleTypeDetail.scoreRuleType;
                if (ValidateFilter(scoreRuleType))//Verificamos que cumpla con el filtro
                {
                    List <ScoreRuleType> lstScoreRulesTypes = (List <ScoreRuleType>)dgrScoreRulesTypes.ItemsSource;
                    lstScoreRulesTypes.Add(scoreRuleType);                                   //Agregamos el registro nuevo
                    lstScoreRulesTypes.Sort((x, y) => string.Compare(x.syN, y.syN));         //Ordenamos la lista
                    int nIndex = lstScoreRulesTypes.IndexOf(scoreRuleType);                  //Obtenemos la posición del registro
                    dgrScoreRulesTypes.Items.Refresh();                                      //Actualizmaos la vista
                    GridHelper.SelectRow(dgrScoreRulesTypes, nIndex);                        //Seleccionamos el registro
                    StatusBarReg.Content = lstScoreRulesTypes.Count + " Score Rules Types."; //Actualizamos el contador
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// llena el grid
        /// </summary>
        /// <param name="scoreRuleType">Objeto a seleccionar</param>
        /// <history>
        /// [emoguel] created 25/04/2016
        /// </history>
        private async void LoadScoreRulesTypes(ScoreRuleType scoreRuleType = null)
        {
            try
            {
                status.Visibility = Visibility.Visible;
                int nIndex = 0;
                List <ScoreRuleType> lstScoreRulesTypes = await BRScoreRulesTypes.GetScoreRulesTypes(_nStatus, _scoreRuleTypeFilter);

                dgrScoreRulesTypes.ItemsSource = lstScoreRulesTypes;
                if (lstScoreRulesTypes.Count > 0 && scoreRuleType != null)
                {
                    scoreRuleType = lstScoreRulesTypes.Where(sy => sy.syID == scoreRuleType.syID).FirstOrDefault();
                    nIndex        = lstScoreRulesTypes.IndexOf(scoreRuleType);
                }
                GridHelper.SelectRow(dgrScoreRulesTypes, nIndex);
                StatusBarReg.Content = lstScoreRulesTypes.Count + "Score Rules Types.";
                status.Visibility    = Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                UIHelper.ShowMessage(ex);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Recarga el grid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 23/04/2016
        /// </history>
        private void btnRef_Click(object sender, RoutedEventArgs e)
        {
            ScoreRuleType scoreRuleType = (ScoreRuleType)dgrScoreRulesTypes.SelectedItem;

            LoadScoreRulesTypes(scoreRuleType);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Obtiene registros del catalogo ScoreRulesTypes
        /// </summary>
        /// <param name="nStatus">-1. todos | 0. Inactivos | 1. Activos</param>
        /// <param name="scoreRuleType">Objeto con filtros adicionales</param>
        /// <returns>Lista de tipo ScoreRuleType</returns>
        /// <history>
        /// [emoguel] created 23/04/2016
        /// [emoguel] modified 28/06/2016 ---> Se volvió async
        /// </history>
        public async static Task <List <ScoreRuleType> > GetScoreRulesTypes(int nStatus = -1, ScoreRuleType scoreRuleType = null)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    var query = from sy in dbContext.ScoreRulesTypes
                                select sy;

                    if (nStatus != -1)//Filtro por estatus
                    {
                        bool blnStatus = Convert.ToBoolean(nStatus);
                        query = query.Where(sy => sy.syA == blnStatus);
                    }

                    if (scoreRuleType != null)
                    {
                        if (!string.IsNullOrWhiteSpace(scoreRuleType.syID))//Filtro por ID
                        {
                            query = query.Where(sy => sy.syID == scoreRuleType.syID);
                        }

                        if (!string.IsNullOrWhiteSpace(scoreRuleType.syN))//Filtro por descripción
                        {
                            query = query.Where(sy => sy.syN.Contains(scoreRuleType.syN));
                        }
                    }
                    return query.OrderBy(sy => sy.syN).ToList();
                }
            }));
        }