public static void Update(tfi_MovimientosDeCajaExDataset data, string IdVariable)
        {
            SqlConnection cnx = dbhelper.Connection.GetConnection();;

            cnx.Open();

            SqlTransaction        trx         = cnx.BeginTransaction(IsolationLevel.Serializable);
            SentenciasReplicacion replication = null;

            try
            {
                mz.erp.dataaccess.tfi_ValoresEx.Update(data.Tables["tfi_Valores"], trx);
                mz.erp.dataaccess.tfi_ValoresDatosAuxiliares.Update(data.Tables["tfi_ValoresDatosAuxiliares"], trx, replication);
                mz.erp.dataaccess.tfi_MovimientosDeCaja.Update(data.tfi_MovimientosDeCaja, trx, replication);
                //sy_Variables.Update(IdVariable, (string)data.tfi_MovimientosDeCaja.Rows[0]["Numero"],trx);
                mz.erp.dataaccess.tfi_PagosMovimientosCajas.Update(data.tfi_PagosMovimientosCajas, trx, replication);
                trx.Commit();
            }
            catch (Exception e)
            {
                trx.Rollback();
            }
            finally
            {
                cnx.Close();
            }
        }
        public static bool DatasetIsValid(tfi_MovimientosDeCajaExDataset data)
        {
            tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaDataTable tableMov = data.tfi_MovimientosDeCaja;
            tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow       row      = (tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow)tableMov.Rows[0];
            bool ok = false;

            ok = EsValidoElMovimiento(data);

            if (!ok)
            {
                return(false);
            }
            if (RowIsValid(row))
            {
                tfi_MovimientosDeCajaExDataset.tfi_PagosMovimientosCajasDataTable table = data.tfi_PagosMovimientosCajas;
                foreach (tfi_MovimientosDeCajaExDataset.tfi_PagosMovimientosCajasRow rowSP in table.Rows)
                {
                    if (!RowIsValid(rowSP))
                    {
                        ok = false; break;
                    }
                }
            }
            return(ok);
        }
        public static void Update(tfi_MovimientosDeCajaExDataset data)
        {
            ApplicationAssert.Check(data != null, "El argumento dataSet no debe ser nulo.", ApplicationAssert.LineNumber);
            ApplicationAssert.Check(data.tfi_MovimientosDeCaja.Rows.Count > 0, "La tabla Movimientos de Caja debe poseer alguna fila.", ApplicationAssert.LineNumber);
            string IdVariable = UpdateNumero(data);

            mz.erp.dataaccess.tfi_MovimientosDeCajaEx.Update(data, IdVariable);
        }
 public static void UpdateWithValidation(tfi_MovimientosDeCajaExDataset data)
 {
     ApplicationAssert.Check(data != null, "El argumento data no debe ser nulo.", ApplicationAssert.LineNumber);
     if (DatasetIsValid(data))
     {
         Update(data);
     }
 }
        public static tfi_MovimientosDeCajaExDataset NewRow()
        {
            tfi_MovimientosDeCajaExDataset data = new tfi_MovimientosDeCajaExDataset();

            tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow row = mz.erp.dataaccess.tfi_MovimientosDeCajaEx.NewRow(data);
            SetRowDefaultValues(row);
            data.tfi_MovimientosDeCaja.Rows.Add(row);
            return(data);
        }
 private static string  UpdateNumero(tfi_MovimientosDeCajaExDataset data)
 {
     if (Variables.GetValueBool("Movimientos.Numeracion.Automatica"))             //si es autonumerico tapo el numero q trae desde la UI
     {
         string numeracion = Variables.GetValueString("Movimientos.Numeracion");
         string Numero     = Util.StcZero(numeracion, 8);
         data.tfi_MovimientosDeCaja.Rows[0]["Numero"] = Numero;
         //actualizo la variable
         sy_VariablesDataset.sy_VariablesRow row = mz.erp.businessrules.sy_Variables.GetByPk("Movimientos.Numeracion");
         mz.erp.dataaccess.sy_Variables.Update(row.IdVariable, (string)data.tfi_MovimientosDeCaja.Rows[0]["Numero"], 1);
         return(row.IdVariable);
     }
     sy_VariablesDataset.sy_VariablesRow row2 = mz.erp.businessrules.sy_Variables.GetByPk("Movimientos.Numeracion");
     return(row2.IdVariable);
 }
        public static bool EsValidoElMovimiento(tfi_MovimientosDeCajaExDataset data)
        {
            string tipoMovimiento  = Convert.ToString(data.tfi_MovimientosDeCaja.Rows[0]["IdTipoDeMovimiento"]);
            string IdInstanciaCaja = Convert.ToString(data.tfi_MovimientosDeCaja.Rows[0]["IdInstanciaCaja"]);

            tsy_TiposMovimientosDataset.tsy_TiposMovimientosRow rowTipoMov = mz.erp.businessrules.tsy_TiposMovimientos.GetByPk(tipoMovimiento);
            string signoMovimiento = Convert.ToString(rowTipoMov.signo);

            bool ok = (data.tfi_Valores.Rows.Count != 0);             //hay valores agregados

            if (ok)
            {
                foreach (DataRow row in data.tfi_Valores.Rows)
                {
                    string  IdTDComTesoreria = Convert.ToString(row["IdTDCompTesoreria"]);
                    string  IdMoneda         = Convert.ToString(row["IdMoneda"]);
                    decimal monto            = Convert.ToDecimal(row["Valor"]);
                    tfi_InstanciasCajaDataset.tfi_InstanciasCajaRow InstanciaRow = tfi_InstanciasCaja.GetByPk(IdInstanciaCaja);
                    string IdCaja = Convert.ToString(InstanciaRow["IdCaja"]);

                    if (signoMovimiento == "-1")                      //si es un egreso hago la verificaciones sino  no
                    {
                        decimal importeEnCaja = tfi_Cajas.GetImportePorTipoDeComprobante(IdTDComTesoreria, IdMoneda, IdCaja);
                        if ((importeEnCaja < System.Math.Abs(monto)))
                        {
                            ok = false;
                            row.SetColumnError("Valor", "No se puede hacer el movimiento debido a que no se cuenta con los valores espeificados en la caja.");
                        }
                    }
                }
            }
            else             // no tiene valores (esta solo la cabecera llena)
            {
                DataRow row2 = data.tfi_MovimientosDeCaja.Rows[0];
                row2.SetColumnError("Observaciones", "No se puede hacer el movimiento debido a que no se han especificado valores para el mismo.");
            }
            return(ok);
        }
        public static tfi_MovimientosDeCajaExDataset Commit(tfi_MovimientosDeCajaExDataset data, MovimientoDeCaja movimiento, System.Data.DataSet valoresEx)
        {
            data = (tfi_MovimientosDeCajaExDataset)mz.erp.businessrules.data.tfi_ValoresEx.Commit(movimiento.Valores, valoresEx, data);

            tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaDataTable TableDeMov = data.tfi_MovimientosDeCaja;
            tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow       RowDeMov   = (tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow)TableDeMov.Rows[0];
            SetRowValues(RowDeMov, movimiento);
            tfi_MovimientosDeCajaExDataset.tfi_PagosMovimientosCajasDataTable tablaPagos = data.tfi_PagosMovimientosCajas;
            foreach (Valor valor in movimiento.Valores)
            {
                tfi_MovimientosDeCajaExDataset.tfi_PagosMovimientosCajasRow rowPagos = tablaPagos.Newtfi_PagosMovimientosCajasRow();

                SetRowDefaultValues(rowPagos);
                rowPagos.IdValor            = valor.IdValor;
                rowPagos.IdMovimiento       = RowDeMov.IdMovimiento;
                rowPagos.IdInstanciaCaja    = RowDeMov.IdInstanciaCaja;
                rowPagos.Numero             = RowDeMov.Numero;
                rowPagos.IdTipoDeMovimiento = RowDeMov.IdTipoDeMovimiento;

                tablaPagos.Addtfi_PagosMovimientosCajasRow(rowPagos);
            }
            return(data);
        }
        protected override void FillControls()
        {
            if (_data != null)
            {
                try
                {
                    tfi_MovimientosDeCajaExDataset data = (tfi_MovimientosDeCajaExDataset)_data;
                    tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaDataTable tabla = data.tfi_MovimientosDeCaja;
                    tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow       row   = (tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow)tabla.Rows[0];
                    ultraCalendarCombo1.Value = (object)row.Fecha;
                    //mzCmbTiposMovimiento.Value = row.IdTipoDeMovimiento;
                    uneTotal.Value        = row.Total;
                    txtObservaciones.Text = row.Observaciones;
                    //mzCmbTiposMovimiento.Value = _movimiento.IdTipoMovimiento;

                    gridEXFormasDePago.LayoutData = _sourceUI.GetLayoutComprobantesTesoreria();
                    _data = mz.erp.businessrules.tfi_MovimientosDeCajaEx.GetComprobantesTesoreria(_data);
                    gridEXFormasDePago.DataSource = _data.Tables["Pr_tfi_GetComprobantesTesoreria"];
                    gridEXValores.LayoutData      = new mz.erp.ui.forms.classes.tfi_ValoresEx().GetLayoutValores();

                    if (mzCEInstanciasCaja.DataSource.Rows.Count == 0)
                    {
                        //tbGuardar.Enabled = false;

                        ultraExplorerBar1.Groups[0].Text     = "No Hay Cajas Abiertas";
                        ultraExplorerBar1.Groups[1].Text     = "No Hay Cajas Abiertas";
                        ultraExplorerBar1.Groups[0].Expanded = false;
                        ultraExplorerBar1.Groups[1].Expanded = false;
                        ultraExplorerBar1.Groups[0].Enabled  = false;
                        ultraExplorerBar1.Groups[1].Enabled  = false;
                    }
                }
                catch (Exception e) {; }
            }
            //mzComboUsuario.FillFromDataSource(_uiController.Usuarios,_uiController.KeyValueUsuarios,_uiController.KeyListUsuarios,100,_uiController.KeyListUsuarios );
        }
 public static tfi_MovimientosDeCajaExDataset.tfi_MovimientosDeCajaRow NewRow(tfi_MovimientosDeCajaExDataset data)
 {
     return(data.tfi_MovimientosDeCaja.Newtfi_MovimientosDeCajaRow());
 }