private static NotaDeEnvio EditNotaDeEnvioQuitar(NotaDeEnvio notaDeEnvio, ProdVendido prodVendidoAEliminar) { DProdVendido.deleteProdVendido(prodVendidoAEliminar); List <ProdVendido> lstAuxiliar = new List <ProdVendido>(); foreach (ProdVendido prodVendido in notaDeEnvio.ProdVendidos) { if (prodVendido.ProductoId != prodVendidoAEliminar.ProductoId) { lstAuxiliar.Add(prodVendido); } } notaDeEnvio.ProdVendidos = lstAuxiliar; notaDeEnvio.ImporteTotal = ExtraerImporteDeNotaDeEnvio(lstAuxiliar); notaDeEnvio.Detalle = ExtraerDetalleDeNotaDeEnvio(lstAuxiliar); editNotaDeEnvio(notaDeEnvio); // falta eliminar producto vendido return(notaDeEnvio); }
private static NotaDeEnvio EditNotaDeEnvioAgregar(NotaDeEnvio notaDeEnvio, List <ProdVendido> lstProdVendidos) { if (notaDeEnvio.ProdVendidos == null || notaDeEnvio.ProdVendidos.Count == 0) { notaDeEnvio.ProdVendidos = new List <ProdVendido>(); notaDeEnvio.ProdVendidos.ToList().AddRange(lstProdVendidos); notaDeEnvio.ImporteTotal = ExtraerImporteDeNotaDeEnvio(lstProdVendidos); notaDeEnvio.Detalle = ExtraerDetalleDeNotaDeEnvio(lstProdVendidos); } else { foreach (ProdVendido prodVendidoNuevo in lstProdVendidos) { bool exists = false; foreach (ProdVendido prodVendidoNDC in notaDeEnvio.ProdVendidos) { if (prodVendidoNDC.Id == prodVendidoNuevo.ProductoId) { exists = true; prodVendidoNDC.Cantidad += prodVendidoNuevo.Cantidad; } } if (!exists) { notaDeEnvio.ProdVendidos.Add(prodVendidoNuevo); } notaDeEnvio.ImporteTotal += prodVendidoNuevo.Precio * prodVendidoNuevo.Cantidad; string descripcion = DProdVendido.editDescripcion(prodVendidoNuevo.Descripcion); notaDeEnvio.Detalle += prodVendidoNuevo.Cantidad.ToString() + "x " + descripcion + ". "; } } bool success = editNotaDeEnvio(notaDeEnvio); if (!success) { return(null); } return(notaDeEnvio); }