示例#1
0
        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);
        }
示例#2
0
        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);
        }