public GenericResponse <bool> Cancel(string codeBar, int idUsuario)
        {
            try
            {
                Database db = new Database();

                WSExterno.OCASA wsocasa = new WSExterno.OCASA();

                WSLog wsExternos = wsocasa.Cancelar(codeBar);

                db.WSLog.Add(wsExternos);
                db.SaveChanges();

                string  jsonResponse = wsExternos.JSONResponse;
                dynamic jobject      = JValue.Parse(jsonResponse);
                //jsonRespone["Status"]
                if (jobject.Status == true)
                {
                    Database context = new Database();
                    Pedidos  pedidos = context.Pedidos.Where(x => x.CodigoBarra == codeBar).FirstOrDefault();
                    pedidos.Estado = Constants.Pedidos.ID_CANCELADO;

                    pedidos.EstadoFecha = DateTime.Now;
                    pedidos.EstadoPor   = idUsuario;

                    pedidos.FechaCancelacion = DateTime.Now;
                    pedidos.CanceladoPor     = idUsuario;
                    context.SaveChanges();

                    return(new GenericResponse <bool>()
                    {
                        Code = 200, Result = true
                    });
                }
                else
                {
                    return(new GenericResponse <bool>()
                    {
                        Code = 500, Error = "No se puede cancelar el pedido"
                    });
                }
            }
            catch (Exception ex)
            {
                var message      = ex.Message;
                var messageInner = ex.InnerException != null ? ex.InnerException.Message : "";

                Database db2 = new Database();
                db2.Log.Add(new Log()
                {
                    Fecha = DateTime.Now, Ubicacion = Constants.LOG_UBICACION_REPORTES, Mensaje = message, Detalle = messageInner
                });

                db2.SaveChanges();

                return(new GenericResponse <bool>()
                {
                    Code = 500, Error = ex.Message
                });
            }
        }