public override void Start() { using (ISession Sesion = m_SessionFactory.OpenSession()) { using (ITransaction Trans = Sesion.BeginTransaction()) { try { SalidaCaja SalidaCaja = (SalidaCaja)m_ObjectFlow; SqlCommand SqlCmd = new SqlCommand(); // Actualizamos el saldo de la Caja SqlCmd.Connection = (SqlConnection)Sesion.Connection; SqlCmd.CommandType = System.Data.CommandType.StoredProcedure; SqlCmd.CommandText = "pSF_Actualizar_Saldo_Caja"; Trans.Enlist(SqlCmd); SqlCmd.Parameters.AddWithValue("@IDCaja", SalidaCaja.Caja.ID); SqlCmd.Parameters.AddWithValue("@Monto", SalidaCaja.Total * -1); SqlCmd.ExecuteNonQuery(); // Creamos la Salida de Caja Sesion.Save(SalidaCaja); Sesion.Flush(); // Creamos una Deuda. if(SalidaCaja.TipoCaja.GeneraDeuda){ Deuda Deuda = new Deuda(); Deuda.Tipo = SalidaCaja.TipoCaja.TipoDeuda; Deuda.TipoDocumento = "Salida de Caja"; Deuda.IDDocumento = SalidaCaja.ID; Deuda.Descripcion = SalidaCaja.TipoDocumento.Nombre; Deuda.IDSocioNegocio = (SalidaCaja.SocioNegocio != null) ? SalidaCaja.SocioNegocio.ID : null; Deuda.Saldo = SalidaCaja.Total; Deuda.Total = SalidaCaja.Total; Sesion.Save(Deuda); } // Actualizamos la Numeración de la Salida de Caja if (SalidaCaja.TipoDocumento.GeneraNumeracionAlFinal) { SqlCmd.CommandText = "pSF_Generar_Numeracion"; SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@Documento", "SalidaCaja"); SqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoCaja"); SqlCmd.Parameters.AddWithValue("@IDDocumento", SalidaCaja.ID); SqlCmd.Parameters.AddWithValue("@IDTipoDocumento", SalidaCaja.TipoDocumento.ID); SqlCmd.ExecuteNonQuery(); } Trans.Commit(); m_ResultProcess = EnumResult.SUCESS; } catch (Exception ex) { Trans.Rollback(); m_ResultProcess = EnumResult.ERROR; SoftException.Control(ex); } finally { base.Start(); } } } }
public override void Start() { using (ISession Sesion = m_SessionFactory.OpenSession()) { using (ITransaction Trans = Sesion.BeginTransaction()) { try { NotaDebito NotaDebito = (NotaDebito)m_ObjectFlow; // Creamos la Nota de Débito Sesion.Save(NotaDebito); Sesion.Flush(); // Creamos una Deuda. if (NotaDebito.TipoNotaDebito.GeneraDeuda) { Deuda Deuda = new Deuda(); Deuda.Tipo = NotaDebito.TipoNotaDebito.TipoDeuda; Deuda.TipoDocumento = "Nota de Débito"; Deuda.IDDocumento = NotaDebito.ID; Deuda.Descripcion = NotaDebito.TipoDocumento.Nombre; Deuda.IDSocioNegocio = (NotaDebito.Cliente != null) ? NotaDebito.Cliente.ID : null; Deuda.Saldo = NotaDebito.Total; Deuda.Total = NotaDebito.Total; Sesion.Save(Deuda); } // Actualizamos la Numeración de la Nota de Débito if (NotaDebito.TipoNotaDebito.GeneraNumeracionAlFinal) { SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = (SqlConnection)Sesion.Connection; SqlCmd.CommandText = "pSF_Generar_Numeracion"; SqlCmd.CommandType = System.Data.CommandType.StoredProcedure; Trans.Enlist(SqlCmd); SqlCmd.Parameters.AddWithValue("@Documento", "NotaDebito"); SqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoNotaDebito"); SqlCmd.Parameters.AddWithValue("@IDDocumento", NotaDebito.ID); SqlCmd.Parameters.AddWithValue("@IDTipoDocumento", NotaDebito.TipoNotaDebito.ID); SqlCmd.ExecuteNonQuery(); } Trans.Commit(); m_ResultProcess = EnumResult.SUCESS; } catch (Exception ex) { Trans.Rollback(); m_ResultProcess = EnumResult.ERROR; SoftException.Control(ex); } finally { base.Start(); } } } }
public override void Start() { using (ISession Sesion = m_SessionFactory.OpenSession()) { using (ITransaction Trans = Sesion.BeginTransaction()) { try { Soft.Facturacion.Entidades.Facturacion Facturacion = (Soft.Facturacion.Entidades.Facturacion)m_ObjectFlow; SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = (SqlConnection)Sesion.Connection; SqlCmd.CommandText = "pSF_Actualizar_EstadoFacturacion_OrdenProduccion"; SqlCmd.CommandType = System.Data.CommandType.StoredProcedure; Trans.Enlist(SqlCmd); foreach (ItemFacturacion ItemFacturacion in Facturacion.Items) { SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@IDOP", ItemFacturacion.IDOrdenProduccion); SqlCmd.Parameters.AddWithValue("@Cantidad", ItemFacturacion.Cantidad); SqlCmd.ExecuteNonQuery(); } foreach (ItemFacturacion ItemFacturacion in Facturacion.Items) { if (ItemFacturacion.TieneGuia) { SqlCmd.CommandText = "pSF_Actualizar_EstadoFacturacion_ItemGuiaRemision"; SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@IDItemGuiaRemision", ItemFacturacion.IDItemGuiaRemision); SqlCmd.Parameters.AddWithValue("@Cantidad", ItemFacturacion.Cantidad); SqlCmd.ExecuteNonQuery(); } } // Creamos la Factura Sesion.Save(Facturacion); Sesion.Flush(); // Creamos una Deuda. if (Facturacion.TipoFacturacion.GeneraDeuda) { Deuda Deuda = new Deuda(); Deuda.Tipo = Facturacion.TipoFacturacion.TipoDeuda; Deuda.TipoDocumento = Facturacion.TipoFacturacion.Comprobante; Deuda.IDDocumento = Facturacion.ID; Deuda.Descripcion = Facturacion.TipoDocumento.Nombre; Deuda.IDSocioNegocio = (Facturacion.Cliente != null) ? Facturacion.Cliente.ID : null; Deuda.Saldo = Facturacion.Total; Deuda.Total = Facturacion.Total; Sesion.Save(Deuda); } // Actualizamos la Numeración de la Factura if (Facturacion.TipoFacturacion.GeneraNumeracionAlFinal) { SqlCmd.CommandText = "pSF_Generar_Numeracion"; SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@Documento", "Facturacion"); SqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoFacturacion"); SqlCmd.Parameters.AddWithValue("@IDDocumento", Facturacion.ID); SqlCmd.Parameters.AddWithValue("@IDTipoDocumento", Facturacion.TipoFacturacion.ID); SqlCmd.ExecuteNonQuery(); } Trans.Commit(); m_ResultProcess = EnumResult.SUCESS; } catch (Exception ex) { Trans.Rollback(); m_ResultProcess = EnumResult.ERROR; SoftException.Control(ex); } finally { base.Start(); } } } }