public IGuiaFacturaDetalle AddFacturaDetalle() { GuiaFacturaDetalle guiaFactuDeta = new GuiaFacturaDetalle(); detallesFactu.Add(guiaFactuDeta); return((IGuiaFacturaDetalle)guiaFactuDeta); }
public bool EmitirGuiaUnidadLogistica(SqlTransaction _transaccion, IUsuarios usuario, bool validarStock) { bool manejarTransaccionEnElMetodo = false; System.Data.SqlClient.SqlTransaction transaccion; System.Data.SqlClient.SqlConnection conexion = new System.Data.SqlClient.SqlConnection(); if (_transaccion == null) { manejarTransaccionEnElMetodo = true; string connectionString = Config.Conexion.StringConexion; conexion.ConnectionString = connectionString; conexion.Open(); transaccion = conexion.BeginTransaction(); } else { transaccion = _transaccion; } try { //Agencia ag = new Agencia(); //ag.AgenciaID = AgenciaOrigenID; //ag.CargarDatosCAIParaTipoGuiaFactura("X"); //NumeroCAI = ag.NumeroCAI; NumeroCAI = string.Empty; FechaEmision = DateTime.Now; UsuarioID = usuario.UsuarioID; ImporteTotalGuia = 0; Observaciones = this.SetObservaciones(); ParametroUNegocio parametro = new ParametroUNegocio(); parametro.UnidadNegocioID = this.UnidadNegocioID; parametro.Parametro = SisPack.Parametro.ClienteGuiaRendicion; parametro.Consultar(); if (parametro.ValorString == null) { transaccion.Rollback(); return(false); } base.FechaDespacho = DateTime.Now; DestinatarioCliente = Convert.ToInt32(parametro.ValorString); //Germán 16/06/2016 Problema en la emisión de guía unidad logística base.EmpresaFacturacionID = 1; if (base.Emitir(transaccion, usuario)) { guiasUnidadesLogisticas.GuiaID = this.GuiaID; guiasUnidadesLogisticas.AgenciaUsuaria = this.AgenciaOrigenID; this.guiasUnidadesLogisticas.Guardar(transaccion, usuario, validarStock); } GuiaFacturaDetalle detalle = new GuiaFacturaDetalle(); detalle.AgenciaOrigenID = this.AgenciaOrigenID; detalle.CantidadBultos = 0; detalle.GuiaID = this.GuiaID; parametro.Parametro = SisPack.Parametro.UnidadVentaUnidadLogistica; parametro.Consultar(); if (parametro.ValorString == null) { transaccion.Rollback(); return(false); } detalle.UnidadVentaID = Convert.ToInt32(parametro.ValorString); if (!detalle.Guardar(transaccion)) { transaccion.Rollback(); return(false); } // Si es un pedido de devolucion. if (EsPedidoDevolucion) { DevolverGuiaUnidadLogistica(usuario, transaccion); } if (manejarTransaccionEnElMetodo) { transaccion.Commit(); return(true); } else { return(true); } } catch (Exception ex) { if (manejarTransaccionEnElMetodo) { transaccion.Rollback(); } throw (ex); } finally { if (manejarTransaccionEnElMetodo) { conexion.Close(); } } }