public async Task <ActionResult <Orden> > ActualizarEstadoOrden(objActalizarEstado objEstado)
        {
            Orden orden = new Orden();

            try
            {
                orden = _unitOfWork.Service_Queries <Orden>().FindById(objEstado.id);
                if (orden == null)
                {
                    return(NotFound("Orden no existe"));
                }
                var existeEstado = _unitOfWork_estado.Service_Queries <Orden_Ref_Estados>().FindOne(x => x.descripcion_estado_orden == objEstado.nuevoEstado);
                if (existeEstado != null)
                {
                    if (orden != null)
                    {
                        orden.estado_orden        = objEstado.nuevoEstado;
                        orden.fecha_actualizacion = System.DateTime.Now;
                        await _unitOfWork.Service_Commands <Orden>().ReplaceOneAsync(orden);
                    }
                }
                else
                {
                    return(NotFound("Estado no existe"));
                }
            }
            catch (Exception error)
            {
                throw new Exception("Error al momento de ingresar el registro: " + error.Message + "," + error.InnerException);
            }
            return(Ok(orden));
        }
Ejemplo n.º 2
0
        public ActionResult <Pedido> ActualizarEstadoPedido(objActalizarEstado objEstado)
        {
            Pedido pedido = new Pedido();

            try
            {
                pedido = _unitOfWork.Service_Queries <Pedido>().FindById(objEstado.id);
                if (pedido != null)
                {
                    var estadoExiste = _unitOfWork_Estado.Service_Queries <Pedido_Ref_Estados>().FindOne(x => x.codigo_estado_pedido == objEstado.nuevoEstado);
                    if (estadoExiste != null)
                    {
                        pedido.id_estado_pedido    = objEstado.nuevoEstado;
                        pedido.fecha_actualizacion = System.DateTime.Now;
                    }
                    else
                    {
                        return(NotFound("Estado no existe"));
                    }
                }
                else
                {
                    return(NotFound("Pedido no encontrado"));
                }
            }
            catch (Exception error)
            {
                throw new Exception("Error al momento de ingresar el registro: " + error.Message + "," + error.InnerException);
            }
            return(Ok(pedido));
        }
        public async Task <ActionResult <Orden> > ActualizarEstadoProductoPorOrden(objActalizarEstado objEstado)
        {
            Orden orden     = new Orden();
            bool  actualiza = false;

            try
            {
                orden = _unitOfWork.Service_Queries <Orden>().FindById(objEstado.id);

                var existeEstado = _unitOfWork_estado_item.Service_Queries <Orden_Item_Ref_Estados>().FindOne(x => x.descripcion_estado_item == objEstado.nuevoEstado);
                if (existeEstado != null)
                {
                    if (orden != null)
                    {
                        foreach (var item in orden.items)
                        {
                            if (item.id_producto == objEstado.idProducto)
                            {
                                actualiza                 = true;
                                item.estado_item          = objEstado.nuevoEstado;
                                orden.fecha_actualizacion = System.DateTime.Now;
                                await _unitOfWork.Service_Commands <Orden>().ReplaceOneAsync(orden);


                                return(orden);
                            }
                        }
                        if (!actualiza)
                        {
                            return(NotFound("Producto no encontrado"));
                        }
                    }
                    else
                    {
                        return(NotFound("Orden no encontrada"));
                    }
                }
                else
                {
                    return(NotFound("Estado no existe"));
                }
            }
            catch (Exception error)
            {
                throw new Exception("Error al momento de ingresar el registro: " + error.Message + "," + error.InnerException);
            }
            return(Ok(orden));
        }