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(); }
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; }
/// <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 }; }