/// <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 02/06/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            SegmentCategory          segmentCategory       = (SegmentCategory)dgrSegmentsCategories.SelectedItem;
            frmSegmentCategoryDetail frmSegmentCategoryDet = new frmSegmentCategoryDetail();

            frmSegmentCategoryDet.Owner = this;
            frmSegmentCategoryDet.oldSegmentCategory = segmentCategory;
            frmSegmentCategoryDet.enumMode           = (_blnEdit) ? EnumMode.Edit : EnumMode.ReadOnly;
            if (frmSegmentCategoryDet.ShowDialog() == true)
            {
                List <SegmentCategory> lstSegmentsCategories = (List <SegmentCategory>)dgrSegmentsCategories.ItemsSource;
                int nIndex = 0;
                if (ValidateFilter(frmSegmentCategoryDet.segmentCategory))                               //verificamos que cumpla con los filtros
                {
                    ObjectHelper.CopyProperties(segmentCategory, frmSegmentCategoryDet.segmentCategory); //Actualizamos los datos
                    lstSegmentsCategories.Sort((x, y) => string.Compare(x.scN, y.scN));                  //Ordenamos la lista
                    nIndex = lstSegmentsCategories.IndexOf(frmSegmentCategoryDet.segmentCategory);       //Buscamos la posición del regsitro
                }
                else
                {
                    lstSegmentsCategories.Remove(frmSegmentCategoryDet.segmentCategory);     //Quitamos el registro
                }
                dgrSegmentsCategories.Items.Refresh();                                       //Actualizamos la vista
                GridHelper.SelectRow(dgrSegmentsCategories, nIndex);                         //Seleccionamos el registro
                StatusBarReg.Content = lstSegmentsCategories.Count + " Segments Categories"; //Actualizamos el contador
            }
        }
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 02/06/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmSegmentCategoryDetail frmSegmentCategory = new frmSegmentCategoryDetail();

            frmSegmentCategory.Owner    = this;
            frmSegmentCategory.enumMode = EnumMode.Add;
            if (frmSegmentCategory.ShowDialog() == true)
            {
                if (ValidateFilter(frmSegmentCategory.segmentCategory))//Verificamos que cumpla con los filtros
                {
                    List <SegmentCategory> lstSegmentsCategory = (List <SegmentCategory>)dgrSegmentsCategories.ItemsSource;
                    lstSegmentsCategory.Add(frmSegmentCategory.segmentCategory);                  //Agregamos el registro
                    int nIndex = lstSegmentsCategory.IndexOf(frmSegmentCategory.segmentCategory); //Buscamos la posición del registro
                    dgrSegmentsCategories.Items.Refresh();                                        //Actualizamos la vista
                    GridHelper.SelectRow(dgrSegmentsCategories, nIndex);                          //Seleccionamos el registro
                    StatusBarReg.Content = lstSegmentsCategory.Count + " Segments Categories";    //Actualizamos el contador
                }
            }
        }