public override void Start() { using (ISession Sesion = m_SessionFactory.OpenSession()) { using (ITransaction Trans = Sesion.BeginTransaction()) { try { Auditoria Auditoria = Auditoria.ConstruirAuditoria(base.m_ObjectFlow, "Creación"); EntradaInventario EntradaInventario = (EntradaInventario)m_ObjectFlow; SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = (SqlConnection)Sesion.Connection; Trans.Enlist(SqlCmd); // Creamos la Entrada de Inventario. Sesion.Save(EntradaInventario); Sesion.Flush(); // Actualizamos los Stocks. foreach (ItemEntradaInventario Item in EntradaInventario.Items) { SqlCmd.CommandText = "pSF_ActualizarStocks"; SqlCmd.CommandType = System.Data.CommandType.StoredProcedure; SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@IDAlmacen", EntradaInventario.Almacen.ID); SqlCmd.Parameters.AddWithValue("@IDProducto", Item.Producto.ID); SqlCmd.Parameters.AddWithValue("@Cantidad", Item.Cantidad * Item.Factor); SqlCmd.Parameters.AddWithValue("@Operacion", "Incrementar"); SqlCmd.ExecuteNonQuery(); } // Actualizamos la Numeración de la Entrada de Inventario if (EntradaInventario.TipoDocumento.GeneraNumeracionAlFinal) { SqlCmd.CommandText = "pSF_Generar_Numeracion"; SqlCmd.Parameters.Clear(); SqlCmd.Parameters.AddWithValue("@Documento", "EntradaInventario"); SqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoDocumentoInventario"); SqlCmd.Parameters.AddWithValue("@IDDocumento", EntradaInventario.ID); SqlCmd.Parameters.AddWithValue("@IDTipoDocumento", EntradaInventario.TipoDocumento.ID); SqlCmd.ExecuteNonQuery(); } Sesion.Save(Auditoria); Trans.Commit(); m_ResultProcess = EnumResult.SUCESS; } catch (Exception ex) { Trans.Rollback(); m_ResultProcess = EnumResult.ERROR; SoftException.Control(ex); } } } base.Start(); }
public override void Start() { using (ISession Sesion = m_SessionFactory.OpenSession()) { using (ITransaction Trans = Sesion.BeginTransaction()) { try { EntradaInventario EntradaInventario = (EntradaInventario)m_ObjectFlow; Sesion.Delete(EntradaInventario); Sesion.Flush(); foreach (ItemEntradaInventario Item in EntradaInventario.Items) { SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = (SqlConnection)Sesion.Connection; Trans.Enlist(SqlCmd); SqlCmd.CommandText = "pSF_ActualizarStocks"; SqlCmd.CommandType = System.Data.CommandType.StoredProcedure; SqlCmd.Parameters.AddWithValue("@IDAlmacen", EntradaInventario.Almacen.ID); SqlCmd.Parameters.AddWithValue("@IDProducto", Item.Producto.ID); SqlCmd.Parameters.AddWithValue("@Cantidad", Item.Cantidad * Item.Factor); SqlCmd.Parameters.AddWithValue("@Operacion", "Decrementar"); SqlCmd.ExecuteNonQuery(); } Trans.Commit(); m_ResultProcess = EnumResult.SUCESS; } catch (Exception ex) { Trans.Rollback(); m_ResultProcess = EnumResult.ERROR; SoftException.Control(ex); } } } base.Start(); }
private void btnGuardar_Click(object sender, EventArgs e) { try { FacturacionSysDLL.DATA.TBL_InventarioMovimiento inventario = new FacturacionSysDLL.DATA.TBL_InventarioMovimiento(); var inventarioModel = new EntradaInventario(); inventario.Cod_Suplidor = Convert.ToInt16(cboSuplidor.SelectedValue); inventario.Comentarios = txtComentarios.Text; inventario.Fecha = dtpFecha.Value; inventario.Estatus = 1; List <TBL_InventarioMovimiento_D> lstDetalle = new List <TBL_InventarioMovimiento_D>(); TBL_InventarioMovimiento_D detalle = new TBL_InventarioMovimiento_D(); decimal monto_total = 0; if (dataGridProductos.Rows.Count > 0) { foreach (DataGridViewRow row in dataGridProductos.Rows) { detalle.CodProducto = int.Parse(row.Cells["Codigo"].Value.ToString()); detalle.Costo = Convert.ToDecimal(row.Cells["Precio"].Value.ToString()); detalle.Cantidad = Convert.ToDecimal(row.Cells["Cantidad"].Value.ToString()); detalle.Importe = Convert.ToDecimal(row.Cells["Importe"].Value.ToString()); monto_total += Convert.ToDecimal(row.Cells["Importe"].Value.ToString()); lstDetalle.Add(detalle); } } inventario.MontoTotal = monto_total; inventarioModel.Guardar(inventario, lstDetalle); MessageBox.Show("Guardado satisfactoriamente"); } catch (Exception ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void EntradaDeProducto_Load(object sender, EventArgs e) { EntradaInventario entradas = new EntradaInventario(); dgEntrada.DataSource = entradas.BuscarListadoEntradas(); }