本文整理汇总了C#中EFRepository.Agregar方法的典型用法代码示例。如果您正苦于以下问题:C# EFRepository.Agregar方法的具体用法?C# EFRepository.Agregar怎么用?C# EFRepository.Agregar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EFRepository
的用法示例。
在下文中一共展示了EFRepository.Agregar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Aceptar
private void Aceptar()
{
if (PopupAbierto)
PopupAbierto = false;
else if (MensajeErrorAbierto)
MensajeErrorAbierto = false;
else if (ConfirmacionAbierta)
{
ConfirmacionAbierta = false;
}
else
{
if (dgvListado.Rows.Count > 0)
{
var lineas = new List<VentaProducto>();
decimal total = 0;
decimal costoTotal = 0;
for (int i = 0; i <= dgvListado.Rows.Count - 1; i++)
{
var linea = new VentaProducto();
linea.Cantidad = decimal.Parse(dgvListado.Rows[i].Cells["Cantidad"].Value.ToString());
linea.Eliminado = false;
linea.Identifier = Guid.NewGuid();
linea.Precio = Convert.ToDecimal(dgvListado.Rows[i].Cells["Unitario"].Value.ToString().Replace("$", ""));
linea.ProductoId = (int)dgvListado.Rows[i].Cells["productoId"].Value;
linea.Costo = dgvListado.Rows[i].Cells["Costo"].Value == null
? 0
: Convert.ToDecimal(dgvListado.Rows[i].Cells["Costo"].Value.ToString().Replace("$", ""));
var recargo = dgvListado.Rows[i].Cells["Recargo"].Value;
linea.EsPromocion = bool.Parse(dgvListado.Rows[i].Cells["EsPromocion"].Value.ToString());
linea.AdicionalPorExcepcion = recargo == null
? (decimal?)null :
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
{
//.........这里部分代码省略.........