예제 #1
0
        private static bool CategoriaDomiciliosIsValid(tsa_CuentasExDataset.tsa_CuentasRow row, tsa_CuentasExDataset data)
        {
            string    IdTipoDocumento = row.idTipoDocumento;
            bool      ValidarCategoriaImpositivaConDirecciones = Variables.GetValueBool("Cuentas.Validaciones.CategoriaImpositivaConDireccion");
            string    CategoriasAValidar      = Variables.GetValueString("Cuentas.Validaciones.CategoriaImpositivaConDireccion.ListaCategoriasImpositivaAValidar");
            ArrayList ListaCategoriasAValidar = mz.erp.systemframework.Util.Parse(CategoriasAValidar, ",");

            if (ValidarCategoriaImpositivaConDirecciones)
            {
                if (ListaCategoriasAValidar.Contains(IdTipoDocumento.ToUpper()))
                {
                    foreach (System.Data.DataRow rowDomicilioCuenta in data.tcs_DomiciliosCuentas.Rows)
                    {
                        if (rowDomicilioCuenta.RowState.Equals(System.Data.DataRowState.Added) || rowDomicilioCuenta.RowState.Equals(System.Data.DataRowState.Modified) ||
                            rowDomicilioCuenta.RowState.Equals(System.Data.DataRowState.Unchanged))
                        {
                            return(true);
                        }
                    }
                    row.SetColumnError("IdTipoDocumento", "Debe Ingresar al menos un domicilio");
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
        /// <summary>
        /// Valida el campo Documento.
        /// </summary>
        public static bool DocumentoIsValid(tsa_CuentasExDataset.tsa_CuentasRow row, out string mensaje)
        {
            mensaje = "";
            bool      CUITok = systemframework.Cuit.Control(row.Documento);
            ArrayList array  = new ArrayList();

            array.Add("CUIT");
            array.Add("CUIL");

            if (array.Contains(row.idTipoDocumento) && !CUITok)
            {
                mensaje = "El numero indicado es invalido para el tipo de documento seleccionado";
                return(false);
            }
            /* Silvina 20110405 - Tarea 0000047 */
            //Tarea primitir repetir solo el nro documento 1111
            if (!row.idTipoDocumento.Equals("CUIT") && row.Documento != null && !row.Documento.Trim().Equals("") && !row.Documento.Equals("1111"))
            //Fin Tarea primitir repetir solo el nro documento 1111
            {
                tsa_CuentasDataset.tsa_CuentasRow rowDoc = tsa_Cuentas.GetByDocumento(row.idTipoDocumento, row.Documento);
                if ((rowDoc != null) && !(rowDoc.IdCuenta.Equals(row.IdCuenta)))
                {
                    mensaje = "El numero indicado ya existe para el tipo de documento seleccionado";
                    return(false);
                }
            }
            /* Fin Silvina 20110405 - Tarea 0000047 */
            return(true);
        }
예제 #3
0
        public static bool CodigoIsValid(tsa_CuentasExDataset.tsa_CuentasRow row)
        {
            bool codigoAutomatico = Variables.GetValueBool("Cuentas.CodigoAutomatico");

            if (!codigoAutomatico)
            {
                string cod = Convert.ToString(row["Codigo"]);
                if (cod.Equals(string.Empty))
                {
                    row.SetColumnError("Codigo", "El Código NO puede ser vacío");
                    return(false);
                }
                string  IdCuenta = Convert.ToString(row["IdCuenta"]);
                DataSet data     = mz.erp.businessrules.tsa_Cuentas.GetList(cod, null, null, null, null, null, false);
                if (data != null)
                {
                    foreach (DataRow rowAux in data.Tables[0].Rows)
                    {
                        string codBD      = Convert.ToString(rowAux["codigo"]);
                        string IdCuentaBD = Convert.ToString(rowAux["IdCuenta"]);
                        if (cod.Equals(codBD) && !IdCuenta.Equals(IdCuentaBD))
                        {
                            row.SetColumnError("Codigo", "El Código YA EXISTE");
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
예제 #4
0
        public static tsa_CuentasExDataset NewRow()
        {
            tsa_CuentasExDataset data = new tsa_CuentasExDataset();

            tsa_CuentasExDataset.tsa_CuentasRow row = data.tsa_Cuentas.Newtsa_CuentasRow();
            SetRowDefaultValues(row);
            data.tsa_Cuentas.Rows.Add(row);

            /*
             * tsa_CuentasExDataset.tsy_ImpuestosCuentasRow rowIC = data.tsy_ImpuestosCuentas.NewRow();
             * rowIC.IdImpuesto = Util.NewStringId();
             * rowIC.IdCuenta = Util.NewStringId();
             * rowIC.MetodoDeAsignacion = "E";
             * rowIC.FechaCreacion = DateTime.Now;
             * rowIC.IdConexionCreacion = Security.IdConexion;
             * rowIC.IdConexionUltimaModificacion = Security.IdConexion;
             * rowIC.IdReservado = 0;
             * rowIC.RowId = Guid.Empty;
             * rowIC.IdEmpresa = Security.IdEmpresa;
             * rowIC.IdSucursal = Security.IdSucursal;
             * data.tsy_ImpuestosCuentas.Addtsy_ImpuestosCuentasRow(rowIC);
             */


            //	tcs_DomiciliosDataset.tcs_DomiciliosRow rowDomicilios = mz.erp.businessrules.tcs_Domicilios.NewRow();

            //	data.tcs_Domicilios.LoadDataRow(rowDomicilios.ItemArray, false);

            return(data);
        }
예제 #5
0
        public static void Update(tsa_CuentasExDataset.tsa_CuentasRow row)
        {
            if (row.RowState == DataRowState.Detached)
            {
                ((tsa_CuentasExDataset.tsa_CuentasDataTable)row.Table).Addtsa_CuentasRow(row);
            }

            //Update( row.Table );
        }
예제 #6
0
 private static bool CategoriaIVAIsValid(tsa_CuentasExDataset.tsa_CuentasRow row)
 {
     /*
      * string IdCategoriaIVA = row.IdCategoriaIva;
      * string IdTipoDocumento = row.idTipoDocumento;
      * if(IdTipoDocumento.ToUpper().Equals("CUIT"))
      *      if(!IdCategoriaIVA.ToUpper().Equals("RI"))
      *      {
      *              row.SetColumnError( "IdCategoriaIva" , "La Categoría de IVA no es válida. Debería ser Responsable Inscripto");
      *              return false;
      *      }
      */
     return(true);
 }
예제 #7
0
        public static bool DatasetIsValid(tsa_CuentasExDataset data)
        {
            tsa_CuentasExDataset.tsa_CuentasDataTable tableCuentas = data.tsa_Cuentas;
            tsa_CuentasExDataset.tsa_CuentasRow       row          = (tsa_CuentasExDataset.tsa_CuentasRow)tableCuentas.Rows[0];
            bool ok = true;

            ok = ok && RowIsValid(row);
            ok = ok && CodigoIsValid(row);
            ok = ok && CategoriaIVAIsValid(row);
            ok = ok && CategoriaDomiciliosIsValid(row, data);
            foreach (System.Data.DataRow rowDomicilio in data.tcs_Domicilios.Rows)
            {
                if (rowDomicilio.RowState.Equals(System.Data.DataRowState.Added) || rowDomicilio.RowState.Equals(System.Data.DataRowState.Modified))
                {
                    ok = ok && mz.erp.businessrules.tcs_Domicilios.RowIsValid(rowDomicilio);
                }
            }
            ok = ok && DomicilioDefaultIsValid(row, data);
            return(ok);
        }
예제 #8
0
        public static void Delete(tsa_CuentasExDataset data)
        {
            tsa_CuentasExDataset.tsa_CuentasRow row = (tsa_CuentasExDataset.tsa_CuentasRow)data.tsa_Cuentas.Rows[0];
            row.Delete();
            Update(row);

            if (row.Table.HasErrors)
            {
                row.RejectChanges();
                row["Activo"] = false;
                Update(row);
                if (row.Table.HasErrors)
                {
                    row.SetColumnError("IdValor", "No se ha podido eliminar el item");
                }
                else
                {
                    row.SetColumnError("IdValor", "No se ha podido eliminar el item porque existen tablas relacionadas. Se procede a desactivar");
                }
            }
        }
예제 #9
0
        private static bool DomicilioDefaultIsValid(tsa_CuentasExDataset.tsa_CuentasRow row, tsa_CuentasExDataset data)
        {
            string IdDomcilioDefault = Convert.ToString(row["IdDomicilioDefault"]);
            /* Silvina 20110823 - Tarea 0000178 */
            bool ok = true;

            if (data.tcs_Domicilios.Rows.Count == 0)
            {
                return(true);
            }
            foreach (System.Data.DataRow rowDC in data.tcs_DomiciliosCuentas.Rows)
            {
                if (!rowDC.RowState.Equals(System.Data.DataRowState.Deleted))
                {
                    ok = false;
                }
            }
            /* Fin Silvina 20110823 - Tarea 0000178 */
            foreach (System.Data.DataRow rowDomicilio in data.tcs_Domicilios.Rows)
            {
                //German 20100518
                if (!rowDomicilio.RowState.Equals(System.Data.DataRowState.Deleted))
                //Fin German 20100518
                {
                    string IdDomicilio = Convert.ToString(rowDomicilio["IdDomicilio"]);
                    if (IdDomicilio.Equals(IdDomcilioDefault))
                    {
                        return(true);
                    }
                }
            }
            /* Silvina 20110823 - Tarea 0000178 */
            if (!ok)
            {
                /* Fin Silvina 20110823 - Tarea 0000178 */
                row.SetColumnError("IdDomicilioDefault", "Debe seleccionar el Domicilio por defecto");
            }
            return(ok);
        }
예제 #10
0
        /// <summary>
        /// Establece los valores por defecto de tsa_CuentasRow.
        /// </summary>
        public static tsa_CuentasExDataset.tsa_CuentasRow SetRowDefaultValues(tsa_CuentasExDataset.tsa_CuentasRow row)
        {
            row.IdCuenta           = Util.NewStringId();
            row.Codigo             = string.Empty;
            row.Nombre             = string.Empty;
            row.Domicilio          = string.Empty;
            row.HorarioComercial   = string.Empty;
            row.idTipoDocumento    = string.Empty;
            row.Documento          = string.Empty;
            row.IdCategoriaIva     = string.Empty;
            row.CampoAuxiliar1     = string.Empty;
            row.CampoAuxiliar2     = string.Empty;
            row.CampoAuxiliar3     = string.Empty;
            row.IdTitular          = string.Empty;
            row.Observaciones      = string.Empty;
            row.Activo             = true;
            row.FechaCreacion      = mz.erp.businessrules.Sistema.DateTime.Now;
            row.IdConexionCreacion = Security.IdConexion;
            //row.UltimaModificacion = null;
            row.IdConexionUltimaModificacion = Security.IdConexion;
            row.IdReservado         = 0;
            row.RowId               = Guid.Empty;
            row.IdSucursal          = Security.IdSucursal;
            row.IdEmpresa           = Security.IdEmpresa;
            row.IdBonificacion      = "1";
            row.ExcluyePercepcionIB = false;
            row.IdDomicilioDefault  = null;
            row.AlicuotaPercepcionIngresosBrutos = 0;

            row.SaldoCtaCte           = 0;
            row.SaldoCtaCteDV         = 0;
            row.IdResponsableCreacion = string.Empty;
            row.DiasLimiteDeCredito   = Variables.GetValueDecimal("Momentos.ABMCuentas.DiasLimiteDeCredito.Default");
            /* Silvina 20111104 - Tarea 0000222 */
            row.CampoAuxiliar6 = string.Empty;
            /* Fin Silvina 20111104 - Tarea 0000222 */
            return(row);
        }
예제 #11
0
        /// <summary>
        /// Valida un tsa_CuentasRow.
        /// </summary>
        public static bool RowIsValid(tsa_CuentasExDataset.tsa_CuentasRow row)
        {
            ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber);
            bool   isValid = true;
            string mensaje;


            if (!IdCuentaIsValid(row.IdCuenta, out mensaje))
            {
                row.SetColumnError("IdCuenta", mensaje);
                isValid = false;
            }

            if (!CodigoIsValid(row.Codigo, out mensaje))
            {
                row.SetColumnError("Codigo", mensaje);
                isValid = false;
            }

            if (!NombreIsValid(row.Nombre, out mensaje))
            {
                row.SetColumnError("Nombre", mensaje);
                isValid = false;
            }

            if (!DomicilioIsValid(row.Domicilio, out mensaje))
            {
                row.SetColumnError("Domicilio", mensaje);
                isValid = false;
            }

            if (!HorarioComercialIsValid(row.HorarioComercial, out mensaje))
            {
                row.SetColumnError("HorarioComercial", mensaje);
                isValid = false;
            }

            if (row.IsidTipoDocumentoNull())
            {
                row.SetColumnError("idTipoDocumento", "El tipo de documento no puede ser nulo");
                isValid = false;
            }
            else
            {
                if (!idTipoDocumentoIsValid(row.idTipoDocumento, out mensaje))
                {
                    row.SetColumnError("idTipoDocumento", mensaje);
                    isValid = false;
                }
                else
                {
                    if (!DocumentoIsValid(row.Documento, out mensaje))
                    {
                        row.SetColumnError("Documento", mensaje);
                        isValid = false;
                    }
                }
            }

            if (!DocumentoIsValid(row, out mensaje))
            {
                row.SetColumnError("Documento", mensaje);
                isValid = false;
            }

            if (!IdCategoriaIvaIsValid(row.IdCategoriaIva, out mensaje))
            {
                row.SetColumnError("IdCategoriaIva", mensaje);
                isValid = false;
            }

            if ((row.IdCategoriaIva == "RI" || row.IdCategoriaIva == "MO") && row.idTipoDocumento != "CUIT")
            {
                row.SetColumnError("idCategoriaIva", "Tipo de documento no válido para categoría de IVA");
                isValid = false;
            }

            if (!CampoAuxiliar1IsValid(row.CampoAuxiliar1, out mensaje))
            {
                row.SetColumnError("CampoAuxiliar1", mensaje);
                isValid = false;
            }

            if (!CampoAuxiliar2IsValid(row.CampoAuxiliar2, out mensaje))
            {
                row.SetColumnError("CampoAuxiliar2", mensaje);
                isValid = false;
            }

            if (!CampoAuxiliar3IsValid(row.CampoAuxiliar3, out mensaje))
            {
                row.SetColumnError("CampoAuxiliar3", mensaje);
                isValid = false;
            }

            if (!IdTitularIsValid(row.IdTitular, out mensaje))
            {
                row.SetColumnError("IdTitular", mensaje);
                isValid = false;
            }

            if (!ObservacionesIsValid(row.Observaciones, out mensaje))
            {
                row.SetColumnError("Observaciones", mensaje);
                isValid = false;
            }

            if (!ActivoIsValid(row.Activo, out mensaje))
            {
                row.SetColumnError("Activo", mensaje);
                isValid = false;
            }

            /* Silvina 20110614 - Tarea 0000155 */
            if (row.IsIdResponsableCreacionNull() || (!IdResponsableCreacionIsValid(row.IdResponsableCreacion, out mensaje)))
            {
                row.SetColumnError("IdResponsableCreacion", "No seleccionó el Responsable del alta");
                isValid = false;
            }
            /* Fin Silvina 20110614 - Tarea 0000155 */

            /*		if ( !FechaCreacionIsValid( row.FechaCreacion, out mensaje) )
             *              {
             *                      row.SetColumnError( "FechaCreacion" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !IdConexionCreacionIsValid( row.IdConexionCreacion, out mensaje) )
             *              {
             *                      row.SetColumnError( "IdConexionCreacion" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              /*if ( !UltimaModificacionIsValid( row.UltimaModificacion, out mensaje) )
             *              {
             *                      row.SetColumnError( "UltimaModificacion" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !IdConexionUltimaModificacionIsValid( row.IdConexionUltimaModificacion, out mensaje) )
             *              {
             *                      row.SetColumnError( "IdConexionUltimaModificacion" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !IdReservadoIsValid( row.IdReservado, out mensaje) )
             *              {
             *                      row.SetColumnError( "IdReservado" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !RowIdIsValid( row.RowId, out mensaje) )
             *              {
             *                      row.SetColumnError( "RowId" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !IdSucursalIsValid( row.IdSucursal, out mensaje) )
             *              {
             *                      row.SetColumnError( "IdSucursal" , mensaje);
             *                      isValid=false;
             *
             *              }
             *
             *              if ( !IdEmpresaIsValid( row.IdEmpresa, out mensaje) )
             *              {
             *                      row.SetColumnError( "IdEmpresa" , mensaje);
             *                      isValid=false;
             *
             *              }*/
            ;

            return(isValid);
        }
예제 #12
0
        /// <summary>
        /// Envia los cambios del tsa_CuentasRow a la base de datos.
        /// </summary>
        public static void Update(tsa_CuentasExDataset.tsa_CuentasRow row)
        {
            ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber);

            mz.erp.dataaccess.tsa_CuentasEx.Update(row);
        }
예제 #13
0
        /* Fin Silvina 20110804 - Tarea 0000178 */

        #endregion

        #region Métodos Públicos

        public tsa_CuentasExDataset Commit(mz.erp.commontypes.data.tsa_CuentasExDataset data)
        {
            switch (_estado)
            {
            case "NEW":                     //Nuevo domicilio
            {
                tsa_CuentasExDataset.tcs_DomiciliosRow rowD = data.tcs_Domicilios.FindByIdDomicilio(this.IdDomicilio);
                bool existRow = rowD != null;
                if (!existRow)
                {
                    rowD = data.tcs_Domicilios.Newtcs_DomiciliosRow();
                }
                rowD.IdDomicilio     = this.IdDomicilio;
                rowD.IdTipoDomicilio = this.IdTipoDomicilio;
                rowD.Calle           = this.Calle;
                rowD.Numero          = this.Numero;
                rowD.Sector          = this.Sector;
                rowD.Torre           = this.Torre;
                rowD.Piso            = this.Piso;
                rowD.Departamento    = this.Departamento;
                rowD.Manzana         = this.Manzana;
                rowD.CodigoPostal    = this.CodigoPostal;
                rowD.IdLocalidad     = this.IdLocalidad;
                rowD.Partido         = this.Partido;
                rowD.IdProvincia     = this.IdProvincia;
                rowD.IdPais          = this.IdPais;
                rowD.IdResponsable   = Security.IdPersona;
                rowD.Telefono        = this.Telefono;

                rowD.FechaCreacion                = DateTime.Now;
                rowD.IdConexionCreacion           = Security.IdConexion;
                rowD.IdConexionUltimaModificacion = Security.IdConexion;
                rowD.IdReservado = 0;
                rowD.RowId       = Guid.Empty;
                rowD.IdEmpresa   = Security.IdEmpresa;
                rowD.IdSucursal  = Security.IdSucursal;
                if (!existRow)
                {
                    data.tcs_Domicilios.Addtcs_DomiciliosRow(rowD);
                }

                //Agrego el domicilio
                if (!existRow)
                {
                    tsa_CuentasExDataset.tcs_DomiciliosCuentasRow rowDC = data.tcs_DomiciliosCuentas.Newtcs_DomiciliosCuentasRow();
                    rowDC.IdCuenta                     = this.IdCuenta;
                    rowDC.idDomicilio                  = rowD.IdDomicilio;
                    rowDC.FechaCreacion                = DateTime.Now;
                    rowDC.IdConexionCreacion           = Security.IdConexion;
                    rowDC.IdConexionUltimaModificacion = Security.IdConexion;
                    rowDC.IdReservado                  = 0;
                    rowDC.IdEmpresa                    = Security.IdEmpresa;
                    data.tcs_DomiciliosCuentas.Addtcs_DomiciliosCuentasRow(rowDC);
                }

                if (this.Default)
                {
                    tsa_CuentasExDataset.tsa_CuentasRow rowC = data.tsa_Cuentas.FindByIdCuenta(this.IdCuenta);
                    rowC.IdDomicilioDefault = this.IdDomicilio;
                }
                break;
            }

            case "MODIF":                     //Modificacion de domicilio
            {
                DataRow rowD = data.tcs_Domicilios.FindByIdDomicilio(this.IdDomicilio);
                rowD["IdTipoDomicilio"] = this.IdTipoDomicilio;
                rowD["Calle"]           = this.Calle;
                rowD["Numero"]          = this.Numero;
                rowD["IdPais"]          = this.IdPais;
                rowD["IdProvincia"]     = this.IdProvincia;
                if (this.IdLocalidad.Equals(string.Empty))
                {
                    rowD["IdLocalidad"] = null;
                }
                else
                {
                    rowD["IdLocalidad"] = this.IdLocalidad;
                }
                rowD["Telefono"] = this.Telefono;
                //data.tcs_Domicilios.ImportRow(rowD);

                if (this.Default)
                {
                    tsa_CuentasExDataset.tsa_CuentasRow rowC = data.tsa_Cuentas.FindByIdCuenta(this.IdCuenta);
                    rowC.IdDomicilioDefault = this.IdDomicilio;
                }
                /* Silvina 20110823 - Tarea 0000178 */
                else
                {
                    tsa_CuentasExDataset.tsa_CuentasRow rowC = data.tsa_Cuentas.FindByIdCuenta(this.IdCuenta);
                    if (rowC.IdDomicilioDefault == this.IdDomicilio)
                    {
                        rowC.IdDomicilioDefault = null;
                    }
                }
                /* Fin Silvina 20110823 - Tarea 0000178 */

                break;
            }

            case "DEL":                     //Borrado de domicilios
            {
                DataRow rowDC = data.tcs_DomiciliosCuentas.FindByidDomicilioIdCuenta(this.IdDomicilio, this.IdCuenta);
                if (rowDC == null)
                {
                    rowDC = mz.erp.businessrules.tcs_DomiciliosCuentas.GetByPk(this.IdDomicilio, this.IdCuenta);
                    rowDC.Delete();
                    data.tcs_DomiciliosCuentas.ImportRow(rowDC);
                }
                else
                {
                    rowDC.Delete();
                }
                /* Silvina 20110823 - Tarea 0000178 */
                //if(this.Default)
                //{
                tsa_CuentasExDataset.tsa_CuentasRow rowC = data.tsa_Cuentas.FindByIdCuenta(this.IdCuenta);
                if (rowC.IdDomicilioDefault == IdDomicilio)
                {
                    rowC.IdDomicilioDefault = null;
                }
                //}
                /* Fin Silvina 20110823 - Tarea 0000178 */
                break;
            }

            default:
                break;
            }
            return(data);
        }