/// <summary>
        /// Muestra la ventana detalle en modo ReadOnly|edicion
        /// </summary>
        /// <history>
        /// [emoguel] 01/04/2016
        /// </history>
        private void Cell_DoubleClick(object sender, RoutedEventArgs e)
        {
            MaritalStatus          maritalStatus = (MaritalStatus)dgrMaritalStatus.SelectedItem;
            frmMaritalStatusDetail frmMarStatus  = new frmMaritalStatusDetail();

            frmMarStatus.Owner            = this;
            frmMarStatus.oldMaritalStatus = maritalStatus;
            frmMarStatus.enumMode         = (_blnEdit == true)?EnumMode.Edit:EnumMode.ReadOnly;
            if (frmMarStatus.ShowDialog() == true)
            {
                int nIndex = 0;
                List <MaritalStatus> lstMaritalStatus = (List <MaritalStatus>)dgrMaritalStatus.ItemsSource;
                if (!ValidateFilter(frmMarStatus.maritalStatus))
                {
                    lstMaritalStatus.Remove(maritalStatus);//Quitamos el registro de la lista
                    StatusBarReg.Content = lstMaritalStatus.Count + " Marital Status.";
                }
                else
                {
                    ObjectHelper.CopyProperties(maritalStatus, frmMarStatus.maritalStatus); //Le asignamos los nuevos valores
                    lstMaritalStatus.Sort((x, y) => string.Compare(x.msN, y.msN));          //ordenamos la lista
                    nIndex = lstMaritalStatus.IndexOf(maritalStatus);                       //obtenemos la posicion del registro
                }
                dgrMaritalStatus.Items.Refresh();
                GridHelper.SelectRow(dgrMaritalStatus, nIndex);
            }
        }
        /// <summary>
        /// Abre la ventana detalle en modo Add
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [emoguel] created 01/04/2016
        /// </history>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            frmMaritalStatusDetail frmMarStatusDet = new frmMaritalStatusDetail();

            frmMarStatusDet.Owner    = this;
            frmMarStatusDet.enumMode = EnumMode.Add;
            if (frmMarStatusDet.ShowDialog() == true)
            {
                MaritalStatus maritalStatus = frmMarStatusDet.maritalStatus;
                if (ValidateFilter(maritalStatus))//validamos que cumpla con los filtros
                {
                    List <MaritalStatus> lstMaritalStatus = (List <MaritalStatus>)dgrMaritalStatus.ItemsSource;
                    lstMaritalStatus.Add(maritalStatus);                           //Agregamos el registro a la lista
                    lstMaritalStatus.Sort((x, y) => string.Compare(x.msN, y.msN)); //ordenamos la lista
                    int nIndex = lstMaritalStatus.IndexOf(maritalStatus);          //Obtenemos la posicion del nuevo registro
                    dgrMaritalStatus.Items.Refresh();                              //Actualizamos la vista del grid
                    GridHelper.SelectRow(dgrMaritalStatus, nIndex);                //Seleccionamos el nuevo registro
                    StatusBarReg.Content = lstMaritalStatus.Count + " Marital Status.";
                }
            }
        }