Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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); }
        }