public List <EdetalleTicket> detalleTicket_GetByIdTicket(Eticket enc, ref ETransactionResult _transResult) { var list = new List <EdetalleTicket>(); _transResult = new ETransactionResult(); SqlTransaction transaction = null; try { using (SqlConnection sqlCon = new SqlConnection(conn)) { sqlCon.Open(); using (SqlCommand sqlCmd = new SqlCommand()) { transaction = sqlCon.BeginTransaction("SelectAllTranstaction"); sqlCmd.Transaction = transaction; sqlCmd.Connection = sqlCon; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.CommandText = "D_PR_detalleTicket_byIdTicket"; sqlCmd.Parameters.AddWithValue("@idTicket", enc.idTicket); using (var reader = sqlCmd.ExecuteReader()) while (reader.Read()) { var item = new EdetalleTicket(); item.idDetalle = (int)reader["idDetalle"]; item.idTicket = (int)reader["idTicket"]; item.fecha = (DateTime)reader["fecha"]; item.idProducto = (int)reader["idProducto"]; item.cantidad = (decimal)reader["cantidad"]; item.precio = (decimal)reader["precio"]; item.total = (decimal)reader["total"]; list.Add(item); } transaction.Commit(); _transResult.message = "OK"; _transResult.result = 0; } } } catch (Exception ex) { _transResult.message = ex.Message; _transResult.result = 1; try { transaction.Rollback(); } catch (Exception rollBackEx) { _transResult.rollbackMessage = rollBackEx.Message; _transResult.result = 1; } } return(list); }
public List <Eticket> ticket_GetAll(ref ETransactionResult _transResult) { var list = new List <Eticket>(); _transResult = new ETransactionResult(); SqlTransaction transaction = null; try { using (SqlConnection sqlCon = new SqlConnection(conn)) { sqlCon.Open(); using (SqlCommand sqlCmd = new SqlCommand()) { transaction = sqlCon.BeginTransaction("SelectAllTranstaction"); sqlCmd.Transaction = transaction; sqlCmd.Connection = sqlCon; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.CommandText = "D_PR_ticket_SelectAll"; using (var reader = sqlCmd.ExecuteReader()) while (reader.Read()) { var item = new Eticket(); item.idTicket = (int)reader["idTicket"]; item.fecha = (DateTime)reader["fecha"]; item.usuario = (string)reader["usuario"]; item.total = (decimal)reader["total"]; item.cancelado = (bool)reader["cancelado"]; item.observacion = (reader["observacion"] == DBNull.Value) ? "" : (string)reader["observacion"]; list.Add(item); } transaction.Commit(); _transResult.message = "OK"; _transResult.result = 0; } } } catch (Exception ex) { _transResult.message = ex.Message; _transResult.result = 1; try { transaction.Rollback(); } catch (Exception rollBackEx) { _transResult.rollbackMessage = rollBackEx.Message; _transResult.result = 1; } } return(list); }
public Eticket ticket_Get(Eticket item, ref ETransactionResult _transResult) { Eticket itemFinded = null; _transResult = new ETransactionResult(); SqlTransaction transaction = null; try { using (SqlConnection sqlCon = new SqlConnection(conn)) { sqlCon.Open(); using (SqlCommand sqlCmd = new SqlCommand()) { transaction = sqlCon.BeginTransaction("SelectTransaction"); sqlCmd.Transaction = transaction; sqlCmd.Connection = sqlCon; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Parameters.AddWithValue("@idTicket", item.idTicket); sqlCmd.CommandText = "D_PR_ticket_Select"; using (var reader = sqlCmd.ExecuteReader()) while (reader.Read()) { itemFinded = new Eticket(); itemFinded.idTicket = (int)reader["idTicket"]; itemFinded.fecha = (DateTime)reader["fecha"]; itemFinded.usuario = (string)reader["usuario"]; itemFinded.total = (decimal)reader["total"]; itemFinded.cancelado = (bool)reader["cancelado"]; itemFinded.observacion = (reader["observacion"] == DBNull.Value) ? "" : (string)reader["observacion"]; } transaction.Commit(); _transResult.message = "OK"; _transResult.result = 0; } } } catch (Exception ex) { _transResult.message = ex.Message; _transResult.result = 1; try { transaction.Rollback(); } catch (Exception rollBackEx) { _transResult.rollbackMessage = rollBackEx.Message; _transResult.result = 1; } } return(itemFinded); }
private bool saveTicket(Eticket ticket, ref ETransactionResult result) { bool res = false; Daticket _ticket = new Daticket(); _ticket.ticket_Insert(ticket, ref result); if (result.result == 0) { res = true; } return(res); }
public void ticket_Delete(Eticket item, ref ETransactionResult _transResult) { _transResult = new ETransactionResult(); SqlTransaction transaction = null; try { using (SqlConnection sqlCon = new SqlConnection(conn)) { sqlCon.Open(); using (SqlCommand sqlCmd = new SqlCommand()) { transaction = sqlCon.BeginTransaction("DeleteTransaction"); sqlCmd.Transaction = transaction; sqlCmd.Connection = sqlCon; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.CommandText = "D_PR_ticket_Delete"; sqlCmd.Parameters.AddWithValue("@idTicket", item.idTicket); sqlCmd.ExecuteNonQuery(); transaction.Commit(); _transResult.message = "OK"; _transResult.result = 0; } } } catch (Exception ex) { _transResult.message = ex.Message; _transResult.result = 1; try { transaction.Rollback(); } catch (Exception rollBackEx) { _transResult.rollbackMessage = rollBackEx.Message; _transResult.result = 1; } } }
public void CancelaVenta(Eticket ticket, ref ETransactionResult result) { List <EdetalleTicket> det = new List <EdetalleTicket>(); DadetalleTicket db = new DadetalleTicket(); Daticket dbTicket = new Daticket(); Daproductos _prod = new Daproductos(); det = db.detalleTicket_GetByIdTicket(ticket, ref result); EMovimiento mov = new EMovimiento(); List <EMovimientoDetalle> movdet = new List <EMovimientoDetalle>(); int idDetalle = 0; mov.fecha = DateTime.Now; mov.idMovimiento = (int)getIdMovimiento(); mov.idTipoMovimiento = "DEV"; mov.observacion = ""; mov.usuario = ticket.usuario; idDetalle = (int)getIdMovimientoDetalle(); foreach (EdetalleTicket item in det) { EMovimientoDetalle detalle = new EMovimientoDetalle(); detalle.idDetalle = idDetalle; detalle.idMovimiento = mov.idMovimiento; detalle.tipoAfectacion = "E"; detalle.idProducto = item.idProducto; detalle.cantidad = item.cantidad; idDetalle += 1; movdet.Add(detalle); } saveMovimiento(mov, ref result); saveDetalleMov(movdet, ref result); dbTicket.ticket_Update(ticket, ref result); }
public Eticket getEncTicket(Eticket item, ref ETransactionResult result) { Daticket db = new Daticket(); return(db.ticket_Get(item, ref result)); }
public void updateTicket(Eticket ticket, ref ETransactionResult result) { Daticket db = new Daticket(); db.ticket_Update(ticket, ref result); }
public bool SetVenta(List <ETicketVenta> venta, string usr, ref ETransactionResult result) { bool res = true; EMovimiento mov = new EMovimiento(); Daproductos _prod = new Daproductos(); List <EMovimientoDetalle> movdet = new List <EMovimientoDetalle>(); int idDetalle = 0; mov.fecha = DateTime.Now; mov.idMovimiento = (int)getIdMovimiento(); mov.idTipoMovimiento = "VTA"; mov.observacion = ""; mov.usuario = usr; idDetalle = (int)getIdMovimientoDetalle(); foreach (ETicketVenta det in venta) { EMovimientoDetalle detalle = new EMovimientoDetalle(); detalle.idDetalle = idDetalle; detalle.idMovimiento = mov.idMovimiento; detalle.tipoAfectacion = "S"; detalle.idProducto = det.Producto; detalle.cantidad = det.Cantidad; idDetalle += 1; movdet.Add(detalle); } var prods = _prod.productos_GetAll(ref result).Cast <Eproductos>().ToList(); var invInsuficiente = movdet.Join(prods, _mov => _mov.idProducto, _prods => _prods.idProducto, (_mov, _prods) => new { Cantidad = _prods.cantidad - _mov.cantidad }).Where( x => x.Cantidad < 0).ToList().Count; if (invInsuficiente > 0) { result.result = -1; result.message = "No se puede vender mas producto que el existente."; return(false); } Eticket ticket = new Eticket(); List <EdetalleTicket> detTic = new List <EdetalleTicket>(); ticket.idTicket = (int)getIdTicket(); ticket.usuario = usr; ticket.fecha = DateTime.Now; ticket.total = venta.Sum(p => p.Total); ticket.observacion = ""; ticket.cancelado = false; idDetalle = (int)getIdTicketDet(); foreach (ETicketVenta det in venta) { EdetalleTicket detalle = new EdetalleTicket(); detalle.idDetalle = idDetalle; detalle.idTicket = ticket.idTicket; detalle.fecha = DateTime.Now; detalle.idProducto = det.Producto; detalle.cantidad = det.Cantidad; detalle.precio = det.Precio; detalle.total = det.Total; idDetalle += 1; detTic.Add(detalle); } var _productos = _prod.productos_GetAll(ref result); _productos = _productos.Join(movdet, x => x.idProducto, y => y.idProducto, (x, y) => x).ToList(); if (saveTicket(ticket, ref result)) { if (saveDetalleTicket(detTic, ref result)) { if (saveMovimiento(mov, ref result)) { if (!saveDetalleMov(movdet, ref result)) { rollbackVenta(_productos, ticket.idTicket, mov.idMovimiento); } else { res = true; } } else { rollbackVenta(_productos, ticket.idTicket, mov.idMovimiento); } } else { rollbackVenta(_productos, ticket.idTicket, mov.idMovimiento); } } else { rollbackVenta(_productos, ticket.idTicket, mov.idMovimiento); } return(res); }