コード例 #1
0
        protected void Window1_BotonAceptar_Click(object sender, DirectEventArgs e)
        {
            try
            {
                if ((bool)Session["CanClick"])
                {
                    if (!(bool)Session["Modificar"])
                    {
                        Dictionary<string, string> dict = JSON.Deserialize<Dictionary<string, string>>(e.ExtraParams["values"]);
                        var linea = new PreMovimiento
                        {
                            Cod = TempId++,
                            Cuenta = dict["TextFieldCuenta"],
                            Debe = dict["ComboBoxDebeHaber_Value"].Equals("D") ? dict["TextFieldMonto"] : "0",
                            Haber = dict["ComboBoxDebeHaber_Value"].Equals("H") ? dict["TextFieldMonto"] : "0",
                            Descripcion = dict["TextFieldDescripcion"],
                            Leyenda = dict["TextFieldLeyenda"],
                            Tipo = dict["ComboBoxTipoMovimiento_Value"]
                        };
                        Movimientos.Add(linea);
                        Store1.AddRecord(linea, true);

                    }
                    else
                    {
                        var row = (PreMovimiento)SelectedItem;
                        Dictionary<string, string> dict = JSON.Deserialize<Dictionary<string, string>>(e.ExtraParams["values"]);
                        var linea = new PreMovimiento
                        {
                            Cod = row.Cod,
                            Cuenta = dict["TextFieldCuenta"],
                            Debe = dict["ComboBoxDebeHaber_Value"].Equals("D") ? dict["TextFieldMonto"] : "0",
                            Haber = dict["ComboBoxDebeHaber_Value"].Equals("H") ? dict["TextFieldMonto"] : "0",
                            Descripcion = dict["TextFieldDescripcion"],
                            Leyenda = dict["TextFieldLeyenda"],
                            Tipo = dict["ComboBoxTipoMovimiento_Value"]
                        };

                        this.RemoveSelected();
                        Movimientos.Add(linea);
                        Store1.InsertRecord(row.Cod, linea, true);
                        RowSelectionModel1.SelectRow(row.Cod);
                    }

                    this.ActualizarTotales();
                }
            }
            catch
            { }

            Session["CanClick"] = false; /* Bugfix */

            this.CerrarVentana();
        }
コード例 #2
0
        public int GenerarAsiento(
            string descripcion, 
            string tipo, 
            DateTime fecha,
            bool editable, 
            bool habilitado, 
            bool sistema,
            PreMovimiento[] premovimientos)
        {
            if (premovimientos.Length == 0)
            {
                throw new Exception("El asiento no se ha podido registrar debido a que no tiene movimientos asignados.");
            }

            Entity_asiento datos = new Entity_asiento();
            datos.Habilitado = habilitado;
            datos.Generadosistema = sistema;
            datos.Fecha = fecha;
            datos.Descripcion = descripcion;
            datos.Editable = editable;
            datos.Ejercicio_codejercicio = (int)this.CodEjercicio;
            datos.Ejercicio_empresa_idempresa = this.CodEmpresa;
            datos.Tipoasiento_empresa_idempresa = this.CodEmpresa;
            datos.Tipoasiento_descripcion = tipo;

            var movimientos = new List<Movimiento>(premovimientos.Length);
            int i = 0;
            foreach (PreMovimiento m in premovimientos)
            {
                Movimiento mov = new Movimiento(m);
                mov.Cod = ++i;
                mov.Datos.Asiento_ejercicio_empresa_idempresa = this.CodEmpresa;
                mov.Datos.Cuenta_plancuentas_ejercicio_empresa_idempresa = this.CodEmpresa;
                mov.Datos.Cuenta_plancuentas_ejercicio_codejercicio = (int)this.CodEjercicio;
                mov.Datos.Asiento_ejercicio_codejercicio = (int)this.CodEjercicio;
                mov.Datos.Cuenta_plancuentas_codplancuentas = this.CodPlanCuentas;
                mov.Datos.Tipomovimiento_empresa_idempresa = this.CodEmpresa;
                movimientos.Add(mov);
            }

            Asiento asiento = new Asiento(datos);
            asiento.Movimientos = movimientos;
            if (!asiento.Balanceado)
            {
                throw new Exception("El asiento no se ha podido registrar debido a que no se encuentra balanceado.");
            }

            Datos.Phantom.Insertar(datos);
            DataSet ds = Datos.Consultar("SELECT LAST_INSERT_ID();");
            var cod = int.Parse(CapaDatos.Datos.GetValor(ds).ToString());

            try
            {
                foreach (Movimiento m in asiento.Movimientos)
                {
                    m.Datos.Asiento_idasiento = cod;
                    Datos.Phantom.Insertar(m.Datos);
                }
            }
            catch (Exception ex)
            {
                asiento.Movimientos = null;
                Datos.Phantom.Eliminar(datos);
                throw ex;
            }

            return cod;
        }
コード例 #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public Movimiento(PreMovimiento prem)
 {
     Datos = new Entity_movimiento
         {
             Descripcion = prem.Descripcion,
             Leyenda = prem.Leyenda,
             Monto = float.Parse(prem.Debe) >0 ? float.Parse(prem.Debe):float.Parse(prem.Haber),
             Debehaber = (float.Parse(prem.Debe) == 0),
             Cuenta_idcuenta = prem.Cuenta,
             Tipomovimiento_descripcion = prem.Tipo
         };
 }