public static void UpdateWithValidation(tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow row)
        {
            ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber);

            if (RowIsValid(row))
            {
                Update(row);
            }
        }
        public static void Update(tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow row)
        {
            if (row.RowState == DataRowState.Detached)
            {
                ((tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetDataTable)row.Table).Addtfi_AuditoriaControlCajasDetRow(row);
            }

            Update(row.Table);
        }
 /// <summary>
 /// Obtiene un registro de la tabla tfi_AuditoriaControlCajasDet que luego puede ser persistido en la base de datos.
 /// </summary>
 public static tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow GetByPk(long IdAuditoria, long Ordinal)
 {
     tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow row = mz.erp.dataaccess.tfi_AuditoriaControlCajasDet.GetByPk(IdAuditoria, Ordinal);
     foreach (DataColumn dc in row.Table.Columns)
     {
         if (row[dc] == System.DBNull.Value)
         {
             row[dc] = Util.DefaultValue(dc.DataType);
         }
     }
     return(row);
 }
        /// <summary>
        /// Establece los valores por defecto de tfi_AuditoriaControlCajasDetRow.
        /// </summary>
        public static tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow SetRowDefaultValues(tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow row)
        {
            row.IdAuditoria = 0;
            row.Ordinal     = 0;
            row.IdControlDeCajasFamiliasComprobanteTesoreria = string.Empty;
            row.IdMoneda                     = string.Empty;
            row.CantidadInformada            = 0;
            row.CantidadSistema              = 0;
            row.MontoInformado               = 0;
            row.MontoSistema                 = 0;
            row.DiferenciaCantidad           = 0;
            row.DiferenciaMonto              = 0;
            row.CodigoCalidadCantidad        = false;
            row.CodigoCalidadMonto           = false;
            row.FechaCreacion                = DateTime.Now;
            row.IdConexionCreacion           = Security.IdConexion;
            row.UltimaModificacion           = null;
            row.IdConexionUltimaModificacion = Security.IdConexion;
            row.RowId = Guid.Empty;

            return(row);
        }
        /// <summary>
        /// Valida un tfi_AuditoriaControlCajasDetRow.
        /// </summary>
        public static bool RowIsValid(tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow row)
        {
            ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber);
            bool   isValid = true;
            string mensaje;


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

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

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

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

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

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

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

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

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

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

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

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

            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 (!RowIdIsValid(row.RowId, out mensaje))
            {
                row.SetColumnError("RowId", mensaje);
                isValid = false;
            }
            ;

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

            mz.erp.dataaccess.tfi_AuditoriaControlCajasDet.Update(row);
        }
Example #7
0
        /**
         * Devuelve un string indicando el motivo por el cual no se puede cerrar la caja o el string vacio si
         * se puede cerrar la misma.
         **/
        public string PuedeCerrarCaja(string IdInstanciaCaja)
        {
            string mje = string.Empty;
            bool   ok  = true;

            //Obtengo la ultima auditoria para esa caja
            tfi_AuditoriaControlCajasDataset.tfi_AuditoriaControlCajasRow rowA = tfi_AuditoriaControlCajas.GetUltimoControl(IdInstanciaCaja);
            ok = rowA != null;
            if (ok)            //Si hubo un control
            {
                long     IdAuditoria        = rowA.IdAuditoria;
                DateTime fechaUltimoControl = rowA.Fecha;
                //Obtengo los movimientos posteriores a la fecha del ultimo control
                DataSet movPost = reportes.ReportsFactory.GetMovimientosDeCajaPosterioresA(fechaUltimoControl, IdInstanciaCaja);
                ok = movPost.Tables[0].Rows.Count == 0;
                if (ok)               //Si no existen movimientos posteriores
                {
                    tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetDataTable tableDet = tfi_AuditoriaControlCajasDet.GetByIdAuditoria(IdAuditoria).tfi_AuditoriaControlCajasDet;
                    //Me fijo si el ultimo control fue exitoso
                    int i = 0;
                    while (ok && i < tableDet.Rows.Count)
                    {
                        tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow rowD = (tfi_AuditoriaControlCajasDetDataset.tfi_AuditoriaControlCajasDetRow)tableDet.Rows[i];

                        //Si son cupones y el monto total coincide se puede cerrar solo si la cantidad informada es menor o igual a la que figura en el sistema
                        if (MAPStaticInfo.PerteneceAControlDeCajasFamiliasTarjeta(rowD.IdControlDeCajasFamiliasComprobanteTesoreria))
                        {
                            ok = !rowD.CodigoCalidadMonto && rowD.CantidadInformada <= rowD.CantidadSistema;
                        }
                        //Si son cheques debe concidir tanto el monto total como la cantidad
                        //Entra al caso default

                        /*else if(MAPStaticInfo.PerteneceACheque(rowD.IdTDCompTesoreria))//Cheques
                         * {
                         *      ok = !rowD.CodigoCalidadMonto && !rowD.CodigoCalidadCantidad;
                         * }*/
                        //Si es efectivo debe concidir el monto sin importar la cantidad
                        else if (MAPStaticInfo.PerteneceAControlDeCajasFamiliasEfectivo(rowD.IdControlDeCajasFamiliasComprobanteTesoreria))                       //Efectivo
                        {
                            ok = !rowD.CodigoCalidadMonto;
                        }
                        else                         //Por defecto debe concidir tanto el monto total como la cantidad
                        {
                            ok = !rowD.CodigoCalidadMonto && !rowD.CodigoCalidadCantidad;
                        }
                        i++;
                    }
                    if (!ok)                    //el ultimo control no fue exitoso
                    {
                        mje = "el último control no fue exitoso";
                    }
                }
                else                 // existen movimientos posteriores
                {
                    mje = "se han realizado movimientos posteriores al último control";
                }
            }
            else             //No hubo ningun control
            {
                mje = "no se realizó ningún control";
            }
            return(mje);
        }