public async Task <IList <DetallePedidoAsignadoModel> > ObtenerProcesosDetallePorEstado(int idEstado) { IList <DetallePedidoAsignadoModel> detallePedidoAsignadoList = new List <DetallePedidoAsignadoModel>(); DetallePedidoAsignadoModel detallePedidoAsignadoModel = null; IList <ProcesoVenta> procesoVentaListEntities = new List <ProcesoVenta>(); try { IList <Pedido> pedidoEntity = await _context.Pedido.ToListAsync(); foreach (var item in pedidoEntity) { ProcesoVenta procesoVentaResult = await _context.ProcesoVenta.FirstOrDefaultAsync(a => a.Pedido == item.IdPedido && a.Estado == idEstado); if (procesoVentaResult != null) { procesoVentaListEntities.Add(procesoVentaResult); } } foreach (var item in procesoVentaListEntities) { var tipoVentaDescripcion = ""; var estadoDescripcion = ""; TipoVenta tipoVentaEntity = await _context.TipoVenta.FirstOrDefaultAsync(a => a.IdTipoVenta == item.TipoVenta); tipoVentaDescripcion = tipoVentaEntity.Descipcion; Estado estadoEntity = await _context.Estado.FirstOrDefaultAsync(a => a.IdEstado == item.Estado); estadoDescripcion = estadoEntity.Descripcion; detallePedidoAsignadoModel = new DetallePedidoAsignadoModel() { idProcesoVenta = item.IdProcesoVenta, idPedido = item.Pedido.HasValue ? item.Pedido.Value : 0, fechaInicio = item.FechaInicio.ToString() != null?item.FechaInicio.ToString() : "-", tipoVenta = tipoVentaDescripcion, idEstado = item.Estado.HasValue ? item.Estado.Value : 0, estado = estadoDescripcion }; detallePedidoAsignadoList.Add(detallePedidoAsignadoModel); } return(detallePedidoAsignadoList); } catch (Exception ex) { var e = ex.Message; throw; } }
public async Task <bool> InsertarProductoPedido(int idUsuario, int totalPedido, IList <ProductoPedidoModel> productoPedido) { try { Pedido nuevoPedido = new Pedido(); nuevoPedido.Descripcion = "Pedido solicitado por cliente externo y creado por el administrador"; nuevoPedido.Vigencia = "1"; nuevoPedido.Usuario = idUsuario; await _context.Pedido.AddAsync(nuevoPedido); await _context.SaveChangesAsync(); int idPedido = nuevoPedido.IdPedido; if (idPedido != null) { foreach (var item in productoPedido) { ProductoPedido nuevoProductoPedido = new ProductoPedido(); nuevoProductoPedido.Pedido = idPedido; nuevoProductoPedido.Producto = item.idProducto; nuevoProductoPedido.Kilogramos = item.cantidad; await _context.ProductoPedido.AddAsync(nuevoProductoPedido); } if (await _context.SaveChangesAsync() > 0 ? true : false) { ProcesoVenta nuevoProcesoVenta = new ProcesoVenta(); nuevoProcesoVenta.FechaInicio = DateTime.Now; nuevoProcesoVenta.FechaTermino = null; nuevoProcesoVenta.TipoVenta = 1; nuevoProcesoVenta.Estado = 1; nuevoProcesoVenta.Pedido = idPedido; nuevoProcesoVenta.Total = totalPedido; await _context.ProcesoVenta.AddAsync(nuevoProcesoVenta); } return(await _context.SaveChangesAsync() > 0 ? true : false); } else { return(false); } } catch (Exception) { return(false); } }