public void AttempAddProveedorCuenta()
        {
            if (_altaDM != null)
            {
                PROVEEDOR_CUENTA provCuenta = new PROVEEDOR_CUENTA
                {
                    BANCO = this._proveedorCuentaModel.Banco
                    ,
                    BENEFICIARIO = this._proveedorCuentaModel.Beneficiario
                    ,
                    CLABE = this._proveedorCuentaModel.Clabe
                    ,
                    NUMERO_CUENTA = this._proveedorCuentaModel.NumeroCuenta
                    ,
                    UNID_BANCO = this._proveedorCuentaModel.Banco.UNID_BANCO
                    ,
                    UNID_PROVEEDOR = this._altaDM.ProveedorEnvio.UnidProveedor
                    ,
                    IS_ACTIVE = true
                    ,
                    IS_MODIFIED = true
                };

                DeleteProveedorCuenta provDel = new DeleteProveedorCuenta(provCuenta);
                provDel.IsChecked = false;

                this._altaDM.CatalogProveedorCuentaModel.ProveedorCuenta.Add(provDel);
            }

            if (_altaMod != null)
            {
                PROVEEDOR_CUENTA provCuenta = new PROVEEDOR_CUENTA
                {
                    BANCO = this._proveedorCuentaModel.Banco
                    ,
                    BENEFICIARIO = this._proveedorCuentaModel.Beneficiario
                    ,
                    CLABE = this._proveedorCuentaModel.Clabe
                    ,
                    NUMERO_CUENTA = this._proveedorCuentaModel.NumeroCuenta
                    ,
                    UNID_BANCO = this._proveedorCuentaModel.Banco.UNID_BANCO
                    ,
                    UNID_PROVEEDOR = this._altaMod.ProveedorModel.UnidProveedor
                    ,
                    IS_ACTIVE = true
                    ,
                    IS_MODIFIED = true
                    ,
                    UNID_PROVEEDOR_CUENTA = UNID.getNewUNID()
                };

                DeleteProveedorCuenta provDel = new DeleteProveedorCuenta(provCuenta);
                provDel.IsChecked = false;

                this._altaMod.CatalogProveedorCuentaModel.ProveedorCuenta.Add(provDel);
                this._altaMod.ProveedorModel._unidsCuenta.Add(provDel.UNID_PROVEEDOR_CUENTA);
            }
        }
        /// <summary>
        /// Ejecuta la acción del command
        /// </summary>
        /// <param name="catalogItemStatusViewModel"></param>
        public ModifyProveedorViewModel(CatalogProveedorViewModel catalogProveedorViewModel, ProveedorModel selectedProveedorModel)
        {
            this._proveedorModel               = new ProveedorModel(new ProveedorDataMapper(), catalogProveedorViewModel.ActualUser);
            this._catalogProveedorViewModel    = catalogProveedorViewModel;
            this._proveedorModel.UnidProveedor = selectedProveedorModel.UnidProveedor;
            this._proveedorModel.Pais          = selectedProveedorModel.Pais;
            this._proveedorModel.Ciudad        = selectedProveedorModel.Ciudad;
            this._proveedorModel.Tel2          = selectedProveedorModel.Tel2;
            this._proveedorModel.Tel1          = selectedProveedorModel.Tel1;
            this._proveedorModel.RFC           = selectedProveedorModel.RFC;
            this._proveedorModel.ProveedorName = selectedProveedorModel.ProveedorName;
            this._proveedorModel.Mail          = selectedProveedorModel.Mail;
            this._proveedorModel.Contacto      = selectedProveedorModel.Contacto;
            this._proveedorModel.CodigoPostal  = selectedProveedorModel.CodigoPostal;
            this._proveedorModel.Calle         = selectedProveedorModel.Calle;
            try
            {
                object ret = this._proveedorModel.GetProveedorCategoria(selectedProveedorModel.UnidProveedor);
                this._catalogCategoriaModel = new CatalogCategoriaModel(new CategoriaDataMapper());
                //muestra los valores de las categorias que estan relacionadas
                foreach (var item in this._catalogCategoriaModel.Categoria)
                {
                    foreach (var ite in ((List <CATEGORIA>)ret))
                    {
                        if (item.UNID_CATEGORIA == ite.UNID_CATEGORIA)
                        {
                            item.IsChecked = true;
                            this._proveedorModel._auxUnidsCategorias.Add(ite.UNID_CATEGORIA);
                        }
                    }
                }

                object ret2 = this._proveedorModel.GetProveedorCuenta(selectedProveedorModel.UnidProveedor);
                this.CatalogProveedorCuentaModel = new CatalogProveedorCuentaModel(new ProveedorCuentaDataMapper());
                //muestra los valores de las categorias que estan relacionadas
                this.CatalogProveedorCuentaModel.ProveedorCuenta = new FixupCollection <DeleteProveedorCuenta>();
                foreach (var ite in ((List <PROVEEDOR_CUENTA>)ret2))
                {
                    //DeleteProveedorCuenta dpc = new DeleteProveedorCuenta(new PROVEEDOR_CUENTA { UNID_PROVEEDOR_CUENTA = ite.UNID_PROVEEDOR_CUENTA, UNID_PROVEEDOR = ite.UNID_PROVEEDOR, UNID_BANCO = ite.UNID_BANCO, NUMERO_CUENTA = ite.NUMERO_CUENTA, LAST_MODIFIED_DATE = ite.LAST_MODIFIED_DATE, IS_MODIFIED = ite.IS_MODIFIED, IS_ACTIVE = ite.IS_ACTIVE, BENEFICIARIO = ite.BENEFICIARIO, CLABE = ite.CLABE });
                    DeleteProveedorCuenta dpc = new DeleteProveedorCuenta(ite);
                    dpc.IsChecked = false;
                    this._proveedorModel._auxUnidsCuenta.Add(ite.UNID_PROVEEDOR_CUENTA);
                    this._proveedorModel._unidsCuenta.Add(ite.UNID_PROVEEDOR_CUENTA);
                    this.CatalogProveedorCuentaModel.ProveedorCuenta.Add(dpc);
                }
            }
            catch (ArgumentException ae)
            {
                ;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            try
            {
                this._catalogCiudadModel = new CatalogCiudadModel(new CiudadDataMapper());
                this._catalogPaisModel   = new CatalogPaisModel(new PaisDataMapper());
            }
            catch (ArgumentException ae)
            {
                ;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }