本文整理汇总了C#中EFRepository.Commit方法的典型用法代码示例。如果您正苦于以下问题:C# EFRepository.Commit方法的具体用法?C# EFRepository.Commit怎么用?C# EFRepository.Commit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EFRepository
的用法示例。
在下文中一共展示了EFRepository.Commit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Aceptar
//.........这里部分代码省略.........
Convert.ToDecimal(recargo.ToString().Replace("$", "")) * linea.Cantidad;
linea.Desincronizado = true;
total += Convert.ToDecimal(linea.Cantidad) * linea.Precio.GetValueOrDefault();
costoTotal += Convert.ToDecimal(linea.Cantidad) * linea.Costo;
lineas.Add(linea);
}
ConfirmacionAbierta = true;
var frmConfirmar = new frmConfirmarVenta(total);
if (frmConfirmar.ShowDialog() == DialogResult.OK)
{
ConfirmacionAbierta = false;
var venta = new Venta
{
ImporteTotal = total,
CostoTotal = costoTotal,
Identifier = Guid.NewGuid(),
Eliminado = false,
CierreCajaId = UsuarioActual.CierreCajaIdActual,
FechaVenta = DateTime.Now,
VentaProductos = lineas
};
venta.CierreCajaId = UsuarioActual.CierreCajaIdActual;
var stockRepository = new StockRepository();
var stockTransaccionRepository = new EFRepository<StockTransaccion>();
var seAgregoStock = false;
var seAgregoTransaccion = false;
//Agrego primero a la coleccion las lineas secundarias correspondientes a promociones
var secundarias = new List<VentaProducto>();
foreach (var linea in lineas.Where(l => l.EsPromocion))
{
var productos = ProductoPromocionRepository.Listado().Where(p => p.PadreId == linea.ProductoId && !p.Eliminado).ToList();
secundarias.AddRange(productos.Select(p => new VentaProducto()
{
Cantidad = p.Unidades * linea.Cantidad,
ProductoId = p.HijoId
}));
}
lineas.AddRange(secundarias);
foreach (var line in lineas)
{
var stockSt = new StockTransaccion
{
Cantidad = line.Cantidad * (-1),
StockTransaccionTipoId = 1,
Identifier = Guid.NewGuid(),
Desincronizado = true
};
var stock = stockRepository.ObtenerByProducto(line.ProductoId, AppSettings.MaxiKioscoId);
if (stock != null)
{
stockSt.StockId = stock.StockId;
stock.StockActual = stock.StockActual - Convert.ToDecimal(line.Cantidad);
stockTransaccionRepository.Agregar(stockSt);
stockRepository.Modificar(stock);
seAgregoTransaccion = true;
seAgregoStock = true;
}
else
{
stock = new Stock()
{
Identifier = Guid.NewGuid(),
MaxiKioscoId = AppSettings.MaxiKioscoId,
ProductoId = line.ProductoId,
StockActual = -line.Cantidad,
OperacionCreacion = "Venta en DESKTOP",
FechaCreacion = DateTime.Now,
StockTransacciones = new List<StockTransaccion> { stockSt }
};
stockRepository.Agregar(stock);
seAgregoStock = true;
}
}
if (seAgregoStock)
stockRepository.Commit();
if (seAgregoTransaccion)
stockTransaccionRepository.Commit();
Repository.Agregar(venta);
if (Repository.Commit())
{
Limpiar();
}
else
{
Mensajes.Guardar(false, "Ha ocurrido un error al registrar la venta. Por favor intente nuevamente");
}
ReiniciarVenta();
}
}
}
}